我只是在试验PHP扩展,我想知道在扩展中调用对象构造函数的建议/首选方法是什么.我已经读过,通过调用object_init_ex函数,不会自动调用该对象的构造函数.从我所做的测试来看,这似乎也是正确的.我们假设我有以下代码,其中'Person'是有效的类名:
zend_class_entry *class_entry = NULL;
zend_string *class_name = zend_string_init("Person", sizeof("Person") - 1, false);
class_entry = zend_lookup_class(class_name);
if (class_entry != NULL) {
object_init_ex(return_value, class_entry);
/* call the Person::_construct method */
} else {
RETURN_NULL();
}
Run Code Online (Sandbox Code Playgroud)
如何在object_init_ext调用后调用构造函数?另外,在这方面,php 5和php 7之间会有什么区别吗?