码迷,mamicode.com
首页 > 其他好文 > 详细

zend相关

时间:2017-06-04 16:55:22      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:mod   opcode   释放   end   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相关

标签:mod   opcode   释放   end   zend   使用   接口   头文件   引擎   

原文地址:http://www.cnblogs.com/weiluoyan/p/6940611.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!