登录 注册
当前位置:主页 > 资源下载 > 48 > \"Kali Linux中文指南的资源数量\

\"Kali Linux中文指南的资源数量\

  • 更新:2024-05-13 21:53:38
  • 大小:1.86MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:PHP - 后端
  • 格式:PDF

资源介绍

进化史 在php5对象变量中有两个关键的组件. 第⼀一个是⼀一个数值的标识, 它和第9章"资源数 据类型"中介绍的数值资源ID非常相似, 扮演了⼀一个用来在对应表中查找对象实例的key的 角色. 在这个实例表中的元素包含了到zend_class_entry的引用以及内部的属性表. 第二个元素是对象变量的句柄表, 使用它可以自定义Zend引擎对实例的处理方式. 在 本章后面你将看到这个句柄表. zend_class_entry 类条目是你在用户空间定义的类的内部表示. 正如你在前⼀一章所见, 这个结构通过调 用INIT_CLASS_ENTRY()初始化, 参数为类名和它的函数表. 接着在MINIT阶段使用 zend_register_internal_class()注册. zend_class_entry *php_sample3_sc_entry; #define PHP_SAMPLE3_SC_NAME "Sample3_SecondClass" static function_entry php_sample3_sc_functions[] = { { NULL, NULL, NULL } }; PHP_MINIT_FUNCTION(sample3) { zend_class_entry ce; INIT_CLASS_ENTRY(ce, PHP_SAMPLE3_SC_NAME, php_sample3_sc_functions); php_sample3_sc_entry = zend_register_internal_class(&ce TSRMLS_CC); return SUCCESS; } 方法 如果你已经阅读了上⼀一章, 你可能就会想"到现在为止看起来几乎⼀一样啊?", 到现在为 止, 你是对的. 现在我们开始定义⼀一些对象方法. 你将开始看到⼀一些非常确定的并且大受欢 迎的不同. PHP_METHOD(Sample3_SecondClass, helloWorld) { php_printf("Hello World\n"); } 在Zend引擎2中引入了PHP_METHOD()宏, 它是对PHP_FUNCTION()宏的封装, 将 类名和方法名联合起来, 不用像php4中手动定义方法名了. 通过使用这个宏, 在扩展中你的 代码和其他维护者的代码的名字空间解析规范就保持⼀一致了. 定义 定义⼀一个方法的实现, 和其他函数⼀一样, 只不过是将它连接到类的函数表中. 除了用于 实现的PHP_METHOD()宏, 还有⼀一些新的宏可以用在函数列表的定义中. • PHP_ME(classname, methodname, arg_info, flags) php extending and embedding by sams 100