鲁鲁槟 2016-08-19 17:53:43 2691次浏览 5条回复 3 2 0

作者:鲁鲁槟 出处:http://www.luluqi.cn/post/default/show-post?id=90

本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

1、PHP 的编译特点

注:脚本一运行结束,opcode 将会被清除;但是第三方工具:apc,xcache 等加速器可以保存 opcode

2、PHP 变量的底层实现:由 zend 虚拟机实现,zend 虚拟机是用 C 语言开发的

疑问:PHP 中有8种数据类型,但为什么 zval->value 联合体中,只有5种?

答:① NULL,直接 zval->type = IS_NULL,就可以表示,不必设置 value 的值

② BOOL型 , zval->type = IS_BOOL,再设置 zval.value = 1/0

③ Resourc型,资源型 往往是服务器上打开的一个接口,如果文件读取接口,zval->type = IS_RESOURCE, zval.value = 服务器上打开的接口的编号

3、PHP 变量名的记录:记录在全局符号表中

4、is_refcount__gc 和 is_ref__gc

① is_refcount__gc:引用该结构体的变量个数

② is_ref_gc:是否有引用传递

5、数组

① 存储与分裂

② foreach

思考:

6、函数

① 函数的结构体

② 静态变量

7、常量

① php 底层是如何区别是系统定义的常量还是用户定义的常量:在 define 函数中声明

② php 常量实现全局访问的原理

③ define 函数的两个现象

8、对象

① 对象的存储

②例子

9、php 的内存分层

注:如有疑问或者有更好的方法,请加入 QQ 群 453300767 进行讨论或在下方进行评论。

觉得很赞
您需要登录后才可以回复。登录 | 立即注册