PHP扩展开发——ext_skel 工具的使用
如何快速的搭建一个PHP扩展骨架?其实PHP源码中自带了一个工具 ext_skel
,可以快速的创建PHP扩展的骨架,从而使开发者可以快速进入扩展的实现。 下面就来说一说ext_skel
的使用。
我们以php5.6为例。并且下载PHP源码:/home/onmpw/workspace/php56
1. ext_skel 所在位置
这里需要注意的是,ext_skel是在PHP源码目录中,而不是在安装目录中。也就是/home/onmpw/workspace/php56/ext/ext_skel
。
这是一个shell脚本,可以直接执行。例如:
onmpw$ workspace/php56/ext/ext_skel --extname=my_ext
2. 生成扩展
上面已经简单说过ext_skel
的使用方式。这里我们需要说明的是我们的扩展可以也放在源码目录的ext目录下;也可以单独放在指定的目录里面。
-
放在源码的ext目录中这种方式也比较简单,这就需要我们进入到源码的ext目录中。然后执行脚本
ext_skel
。onmpw$ cd ~/workspace/php56/extonmpw ext$ ./ext_skel --extname=my_ext
-
单独指定目录假如我们要将其放在 /home/onmpw/workspace/myexts 目录下。我们就需要进入到这个目录
要想将扩展放在某个目录下,一定要进入这个目录,由参数 --extname=my_ext 指定扩展名,就会在目录下生成一个 my_ext的文件夹。包括在源码的ext目录中也是一样要进入到相应目录中去。 不一样的地方就是单独指定目录的话,需要--skel参数来指明生成扩展的模板——skeleton,该模板文件也是在源码的ext目录下。
onmpw$ cd ~/workspace/myextsonmpw myexts$ ~/workspace/php56/ext/ext_skel --extname=my_ext --skel=$HOME/workspace/php56/ext/skeleton
需要注意的是,在linux中符号
~
和$HOME是相同效果的。但是--skel参数不能用符号~
,可以用$HOME来指定绝对路径(一定要用绝对路径)。
脚本执行完之后,我们的扩展的基本框架就有了。接下来就是来实现我们自己想要的功能了。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341