依赖ZE内部管理2自己写内存管理#深圳PHP培训
2021-01-31
PHP的核心包括两部分。最底层是zend引擎(ZE)。另一部分是PHP核心,它绑定了SAPI层(服务器应用程序编程接口)。
###扩展的内存管理
_____________________________________________________________
1依靠ZE内部管理
2编写自己的内存管理
##创建基本的hello扩展
_____________________________________________________________
### config.m4
______________________________________________________________
这是Phpize用来编译的扩展文件的配置文件
### php_hello.h配置文件
____________________________________________________________
制作配置文件
### hello.c
______________________________________________________________
原始文件
键码
### RETURN_STRING(str,0 /1);
___________________________________________________________
从0或1表示是否需要ZE引擎来处理内存。还是要复制
类似地,RETURN_LONG(),RETURN_DOUBLE()等。
##添加扩展的内部功能
_________________________________________________________
###如何向扩展名添加功能
__________________________________________________________
1在extension.c中的function_entry结构中添加相应的PHP_FE();
static function_entry hello_functions [] {
PHP_FE(hello_longphp扩展开发教程,NULL);
}
2在扩展文件中添加相应功能的实现
PHP_FUNCTION(hello_long){
RETURN_DOUBLE(3.1415926);
}
3在扩展头文件中添加函数原型声明,例如php_hello.h函数
PHP_FUNCTION(hello_long);
添加新功能后,可以再次重新编译,建议全部清除
###非标量返回类型
________________________________________________________________
资源[msyql_connect],数组php扩展开发教程,对象(新类)
##通过php.ini初始化扩展配置
_______________________________________________________________