PHP_FUNCTION(learn_call) {
// 实例化类
zval *learn;
MAKE_STD_ZVAL(learn);
object_init_ex(learn, learn_ce);
char *name = "xiaozi";
char *methodName = "__construct";
zval *param, *method, *callResult;
zval **params[1];
MAKE_STD_ZVAL(method);
ZVAL_STRINGL(method, methodName, strlen(methodName), 1);
MAKE_STD_ZVAL(param);
ZVAL_STRINGL(param, name, strlen(name), 1);
params[0] = ¶m;
// 调用类的 __construct 方法
call_user_function_ex(&(learn_ce)->function_table, &learn, method, &callResult, 1, params, 0, NULL TSRMLS_CC);
zval_ptr_dtor(&method);
zval_ptr_dtor(¶m);
zval_ptr_dtor(&learn);
if (callResult) {
zval_ptr_dtor(&callResult);
}
}