如何生成PHP扩展编写的基本框架?

编写基本的PHP扩展并不是太困难。您只需要创建几个文件。您可以手动执行此操作,但也可以使用“ ext_skel.php”脚本:

下载PHP源码

$ wget https://www.php.net/distributions/php-7.4.7.tar.gz
$ tar zxvf php-7.4.7.tar.gz

执行ext_skel.php生成扩展模板

php php-7.4.7/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文件的简单扩展来说,这是不必要的,但是在实现分布在少数文件的情况下,这很有用。

  • test.c是主要的扩展实现源。它定义了所有的结构,这些结构允许将扩展插入到PHP中,并使它们的所有内部函数、类和常量可用。

  • tests是指包含PHP测试的目录。

 参考资料

https://www.zend.com/generating-php-extension-skeleton

什么是领域驱动设计?
php速查手册
ajax-loader