随笔分类 - php
摘要:PHP中有七个魔术常量,他们的值其实是变化的,它们的值随着它们在代码中的位置改变而改变。所以称他们为魔术常量。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写。在手册中这几个变量的简单说明如下: PHP中的一些比较魔术的变量或者标示都习惯使用下划线来进行区分,
阅读全文
摘要:标准常量的初始化通过define()函数定义的模块编号都是PHP_USER_CONSTANT这表示是用户定义的常量。除此之外我们在平时使用较多的常量:如错误报告级别E_ALL, E_WARNING等常量就有点不同了。这些是PHP内置定义的常量,他们属于标准常量在Zend引擎启动后,会执行如下的标准常
阅读全文
摘要:常量存储位置 常量的内部结构在Zend/zend_constants.h文件的33行可以看到如下所示的结构定义。在常量的结构中,除了与变量一样的zval结构,它还包括属于常量的标记,常量名以及常量所在的模块号 flags取值:CONST_PERSISTENT:表示这个常量需要持久化。这里的持久化内存
阅读全文
摘要:AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实
阅读全文
摘要:描述 PHP中把定义在函数、类之外的变量称之为全局变量,也就是定义在主脚本中的变量,这些变量可以在函数、成员方法中通过global关键字引入使用。 存储 全局变量在整个请求执行期间始终存在,它们保存在EG(symbol_table)中,也就是全局变量符号表,与静态变量的存储一样,这也是一个哈希表,主
阅读全文
摘要:PHP中局部变量分配在zend_execute_data结构上,每次执行zend_op_array都会生成一个新的zend_execute_data,局部变量在执行之初分配,然后在执行结束时释放,这是局部变量的生命周期,而局部变量中有一种特殊的类型:静态变量,它们不会在函数执行完后释放,当程序执行离
阅读全文
摘要:PHP是解析型高级语言,事实上从Zend内核的角度来看PHP就是一个普通的C程序,它有main函数,我们写的PHP代码是这个程序的输入,然后经过内核的处理输出结果,内核将PHP代码"翻译"为C程序可识别的过程就是PHP的编译。 C程序在编译时将一行行代码编译为机器码,每一个操作都认为是一条机器指令,
阅读全文
摘要:数组是PHP中非常强大、灵活的一种数据类型,它的底层实现为散列表(HashTable,也称作:哈希表) 散列表是根据关键码值(Key value)而直接进行访问的数据结构,它的key - value之间存在一个映射函数,可以根据key通过映射函数直接索引到对应的value值,它不以关键字的比较为基本
阅读全文
摘要:1 引用计数 引用计数是指在value中增加一个字段refcount记录指向当前value的数量,变量复制、函数传参时并不直接硬拷贝一份value数据,而是将refcount++,变量销毁时将refcount--,等到refcount减为0时表示已经没有变量引用这个value,将它销毁即可。 存储结
阅读全文
摘要:php版本 7.2.3 文件地址:Zend/zend_types.h typedef struct _zval_struct zval; 变量的存储结构 变量值的实际存储结构,一个联合体(节省空间)
阅读全文
摘要:来源:https://github.com/pangudashu/php7-internal/
阅读全文
摘要:CGI(Common Gateway Interface) CGI 是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览
阅读全文
摘要:PHP内部函数使用 zend_parse_parameters() API 接受参数,将输入参数转换成c变量,这个函数使用类似scanf()函数的参数解释方法,通过一个字符串来定义输入参数的个数和类型,例如("s" - for string, "l" for long),不幸的是,每次调用这个函数时
阅读全文
摘要:经常用于返回数据的宏方法,见zend/zend_API.h
阅读全文
摘要:一、首先查看phpinfo() 信息PHP Version 5.4.34Zend Extension Build API220100525,TS,VC9 PHP Extension Build API20100525,TS,VC9 Thread Safety enable线程安全,VC9编译,...
阅读全文
摘要:1. php.ini 中;extension=php_openssl.dll(取消注释,不然在安装composer过程中会报错)集成环境最好去php目录中打开php.ini文件,确定;extension=php_openssl.dll已经去掉注释!!!2.下载安装Composer(安装完成后重新打开...
阅读全文
浙公网安备 33010602011771号