zend相关
Posted 略略略。。。。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zend相关相关的知识,希望对你有一定的参考价值。
zend引擎是脚本语言引擎(解析器+虚拟机),主要的工作就是解析、翻译和执行php脚本
zend引擎要做的两个工作:
1、编译php脚本,输出opcodes。
2、解析执行opcodes,输出结果。
在解析执行的过程中zend引擎可以调用到所有已经载入到php环境的扩展库。
PHP扩展是使用c语言开发的,而c语言最令人望而生畏的就是内存管理,因为有时候可能会忘记释放某些内存,或者释放同一块内存两次等,这些都是致命的。
为了防止这些情况出现,zend引擎提供一些与内存管理相关的接口,使用这些接口后就不用管内存有没有释放,因为zend引擎会为你管理所有通过zend api申请的内存,从而避免了内存泄漏。
所有的PHP扩展通常包含以下几部分:
1、包含头文件
2、声明导出函数:就是按照php内核规定的准则编写的函数,有五个参数
3、声明zend函数块:zend引擎不会自动引入声明的导出函数的,使用zend_function_entry结构体把编写的函数引入到zend引擎中
4、声明zend模块:php扩展信息都保存在zend_module_entry结构中,这个结构包含所有需要想zend引擎提供的模块信息。
5、实现get_module()函数:当扩展被动态加载时会调用此函数
6、实现导出函数:导出函数的实现是构建扩展的最后一步,导出函数是可以在PHP脚本中调用的函数,而实现这些函数才能发挥作用。
以上是关于zend相关的主要内容,如果未能解决你的问题,请参考以下文章
zend studio svn相关操作中,如何查看某一天项目中修改的所有文件。
[PHP内核]PHP内核学习------zend_try实现