File tree Expand file tree Collapse file tree 4 files changed +9
-6
lines changed Expand file tree Collapse file tree 4 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -87,7 +87,7 @@ if (by_ref) {
8787*  __ ZEND_FETCH_W:__  这条opcode对应的操作是创建一个IS_INDIRECT类型的zval,指向static_variables中对应静态变量的zval
8888*  __ ZEND_ASSIGN_REF:__  它的操作是引用赋值,即将一个引用赋值给CV变量
8989
90- 通过上面两条opcode可以确定静态变量的读写过程:首先根据变量名在static_variables中取出对应的zval,然后将它修改为引用类型并赋值给局部变量,也就是说` static $count = 4; ` 包含了两个操作,严格的将 ` $count ` 并不是真正的静态变量,它只是一个指向静态变量的局部变量,执行时实际操作是:` $count = & static_variables["count"]; ` 。上面例子$count与static_variables[ "count"] 间的关系如图所示。
90+ 通过上面两条opcode可以确定静态变量的读写过程:首先根据变量名在static_variables中取出对应的zval,然后将它修改为引用类型并赋值给局部变量,也就是说` static $count = 4; ` 包含了两个操作,严格的说 ` $count ` 并不是真正的静态变量,它只是一个指向静态变量的局部变量,执行时实际操作是:` $count = & static_variables["count"]; ` 。上面例子$count与static_variables[ "count"] 间的关系如图所示。
9191
9292![ ] ( ../img/zend_static_ref.png ) 
9393
Original file line number Diff line number Diff line change @@ -278,7 +278,7 @@ $b[] = 3;
278278
279279![ zval_sep] ( ../img/zval_sep.png ) 
280280
281- 不是所有类型都可以copy的,比如对象、资源,实时上只有string 、array两种支持,与引用计数相同,也是通过` zval.u1.type_flag ` 标识value是否可复制的:
281+ 不是所有类型都可以copy的,比如对象、资源,事实上只有string 、array两种支持,与引用计数相同,也是通过` zval.u1.type_flag ` 标识value是否可复制的:
282282``` c 
283283#define  IS_TYPE_COPYABLE   (1<<4) 
284284``` 
Original file line number Diff line number Diff line change 11### 3.4.1 类  
22类是现实世界或思维世界中的实体在计算机中的反映,它将某些具有关联关系的数据以及这些数据上的操作封装在一起。在面向对象中类是对象的抽象,对象是类的具体实例。
33
4- 在PHP中类编译阶段的产物 ,而对象是运行时产生的,它们归属于不同阶段。
4+ 在PHP中类是编译阶段的产物 ,而对象是运行时产生的,它们归属于不同阶段。
55
66PHP中我们这样定义一个类:
77``` php 
Original file line number Diff line number Diff line change 115115 *  [ 8.3.2 use导入] ( 8/namespace.md ) 
116116 *  [ 8.3.3 动态用法] ( 8/namespace.md ) 
117117
118- ## 附录  
119-  *  [ 附录1:break/continue按标签中断语法实现] ( try/break.md ) 
120-  *  附录2:defer推迟函数调用语法的实现
118+ ## 实现PHP新特性  
119+  *  [ 1、break/continue按标签中断语法实现] ( try/break.md ) 
120+  *  2、defer语法
121+  *  3、协程
122+  *  3.1 协程的原理
123+  *  3.2 上下文切换
121124
                         You can’t perform that action at this time. 
           
                  
0 commit comments