小编Car*_*ino的帖子

从php扩展调用对象构造函数(__construct)

我只是在试验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之间会有什么区别吗?

php c++ object php-extension php-internals

3
推荐指数
1
解决办法
249
查看次数

标签 统计

c++ ×1

object ×1

php ×1

php-extension ×1

php-internals ×1