[ PHP 内核与扩展开发系列] 类与面向对象:访问对象实例的属性和方法

上一章节里,我们看了一下如何在 PHP 扩展里定义类与接口,这一章节我们将学习一下如何在 PHP 扩展中操作类的实例 —— 对象。PHP语言中的面向对象其实是分为三个部分来实现的:class、object、refrence。class 就是我们所说的类,可以直观的理解为前面章节中所描述的 zend_class_entry。object 就是类的实际对象。每一个 zval 并不直接包含具体…

[ PHP 内核与扩展开发系列] 类与面向对象:如何定义一个类

zend_class_entry zend_class_entry 是内核中定义的一个结构体,是内核实现 PHP 语言中类与对象的一个非常基础、关键的结构类型,相当于我们定义类的原型。如果我们想获得一个名字为 myclass 的类该怎么做呢?首先我们定义一个 zend_class_entry 变量,并为它设置名字,最后注册到 runtime 中去: zend_class_entry *m…