今天为大家分享编写PHP扩展的系列文章,文章从环境构建到扩展编写,会对使用到的相关PHP内核数据结构及API进行介绍,希望能对大家有所帮助。
编写基础的PHP扩展并不困难。只需要创建几个文件。可以手动创建,但也可以使用“ext_skel.php”脚本生成。
$ php php-src/ext/ext_skel.php --ext test --dir .
但是,这个脚本并没有在二进制PHP构建版本中发布,仅在源码版本中可用。以上将创建带有扩展框架文件的目录“test”。看看内部文件:
$ cd test
$ ls
config.m4 config.w32 php_test.h test.c tests
在上面的代码片段中:
-
config.m4:是“phpize”或“buildconf”使用的扩展配置脚本,用于将扩展配置选项添加到“configure”命令中。
-
config.w32:是Windows构建系统的类似配置文件,本后面会进行讨论。
-
php_test.h:是一个C头文件,其中包含常见扩展名定义。对于具有单个C文件的简单扩展来说,不是必需的,对于代码分散在多个C文件的情况很有用。
-
test.c:是主要的扩展实现。定义了所有内部函数、类和常量的结构。
-
tests:PHP测试文件目录。后面进行讨论。
以上就是PHP扩展框架的相关信息,下一步将构建并安装该PHP扩展。
如果大家有什么建议或疑问,可以在下方留言交流。
