diff --git a/11.1.md b/11.1.md
index e48371f..07cfdca 100644
--- a/11.1.md
+++ b/11.1.md
@@ -1,6 +1,6 @@
# 11.1 PHP中的面向对象(二)
-为了操作一个对象,我们需要先获取这个对象的实例,而这有肯定会涉及调用对象的构造方法。有关如何在扩展中调用PHP的函数与对象的方法这里不展开描述了,大家可以看我的另一篇博文: [在PHP扩展中通过C语言调用PHP函数与方法](http://walu.sinaapp.com/?p=159)
+为了操作一个对象,我们需要先获取这个对象的实例,而这肯定会涉及调用对象的构造方法。有关如何在扩展中调用PHP的函数与对象的方法这里不展开描述了,大家可以看我的另一篇博文: [在PHP扩展中通过C语言调用PHP函数与方法](http://walu.sinaapp.com/?p=159)
首先我们先了解下一个object在PHP内核中到底是如何实现的。
````c
typedef struct _zend_object_value {
@@ -24,7 +24,7 @@ typedef union _zvalue_value {
如果我们有一个zval *tmp,那么tmp->value.obj来访问到最终保存对象实例的zend_object_value结构体,它包含两个成员:
- zend_object_handle handle:最终实现是一个unsigned int值,Zend会把每个对象放进数组里,这个handle就是此实例的索引。所以我们在把对象当作参数传递时,只不过是传递的handle罢了,这样对性能有利,同时也是对象的引用机制的原理。
- - zend_object_handlers *handlers:这个里面是一组函数指针,我们可以通过它来对象进行一些操作,比如:添加引用、获取属性等。此结构体在Zend/zend_object_handlers.h里定义。
+ - zend_object_handlers *handlers:这个里面是一组函数指针,我们可以通过它来对对象进行一些操作,比如:添加引用、获取属性等。此结构体在Zend/zend_object_handlers.h里定义。
下面我给出这个类的PHP语言实现,让我们在扩展中实现它,并生成它。
````php
diff --git a/11.2.md b/11.2.md
index 176a415..507f2fa 100644
--- a/11.2.md
+++ b/11.2.md
@@ -8,7 +8,7 @@ ZEND_API zval *zend_read_property(zend_class_entry *scope, zval *object, char *n
ZEND_API zval *zend_read_static_property(zend_class_entry *scope, char *name, int name_length, zend_bool silent TSRMLS_DC);
````
-zend_read_property函数用于读取对象的属性,而zend_read_static_property则用于读取静态属性。可以看出,静态属性是直接保存在类上的,用具体的对象无关。
+zend_read_property函数用于读取对象的属性,而zend_read_static_property则用于读取静态属性。可以看出,静态属性是直接保存在类上的,与具体的对象无关。
silent参数:
- 0: 如果属性不存在,则抛出一个notice错误。
diff --git a/11.3.md b/11.3.md
index 4cb2bf1..abc3425 100644
--- a/11.3.md
+++ b/11.3.md
@@ -1,7 +1,7 @@
# 11.3 PHP中的面向对象(二)
-有关面向对象的对象实在是太多了,我也是才学而已,没有办法给出非常系统、完整的阐述,但以后我会陆陆续续的在博客里写出来的。此外,强烈建议大家看看php官方的这篇wiki。
+有关面向对象的资料实在是太多了,我也是才学而已,没有办法给出非常系统、完整的阐述,但以后我会陆陆续续的在博客里写出来的。此外,强烈建议大家看看php官方的这篇wiki。
[internals:engine:objects](https://wiki.php.net/internals/engine/objects)
diff --git a/11.md b/11.md
index 0eddb5a..36dc170 100644
--- a/11.md
+++ b/11.md
@@ -5,7 +5,7 @@
* [2. 读写对象的属性](11.2.md)
* [3. 小结](11.3.md)
-上一章里,我们看了一下如何在PHP扩展里定义类与接口,那这一章里我们将入手一下如何在PHP扩展中操作类的实例————对象。
+上一章里,我们看了一下如何在PHP扩展里定义类与接口,那这一章里我们将入手学习一下如何在PHP扩展中操作类的实例————对象。
PHP语言中的面向对象其实是分为三个部分来实现的,class、object、refrence。class就是我们所说的类,可以直观的理解为前面章节中所描述的zend_class_entry。object就是实际的对象。每一个zval并不直接包含具体的object,而是通过一个索引--refrence与其联系。也就是说,每个class都有很多个object实例,并把他们统一的放在一个数组里,每个zval只要记住自己相应的key就行了。如此一来,我们在传递zval时候,实际上传递的是一个索引,而不是内存中具体的对象数据。