2

zval が呼び出し可能なオブジェクトである場合、拡張機能の C コードでどのように実行できますか?

zvalまたは aを aに変換する方法zend_fcall_info

4

1 に答える 1

1

を検索しzend_is_callableて php src コードに飛び込んだ後、呼び出し可能な zval を呼び出す方法を知っています。

zval ret;

zval* params[] = { param }; // param is zval* too

if (SUCCESS == call_user_function(CG(function_table), NULL, callable, &retval, 1, params TSRMLS_CC)) {
    // callable is a zval*
    // you can do something with the retval now
}
于 2012-09-23T16:55:38.720 に答える