[英]How can I call a `callable` zval in php extension dev?
If a zval is a callable object, how can I run it in my extension c code ? 如果zval是可调用对象,如何在扩展C代码中运行它?
or how to convert a zval
to a zend_fcall_info
或如何将
zval
转换为zend_fcall_info
after search for the zend_is_callable
and dive into the php src code, I know how to call a callable zval: 搜索了
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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.