迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

PHP扩展开发——ext_skel 工具的使用

作者:迹忆客 时间:2021/06/10 浏览次数:

如何快速的搭建一个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来指定绝对路径(一定要用绝对路径)。

脚本执行完之后,我们的扩展的基本框架就有了。接下来就是来实现我们自己想要的功能了。

除非注明转载,本站文章均为原创,欢迎转载,转载请以链接形式注明出处

本文地址:

迹忆客

专注技术分享,项目实战分享!

技术宅 乐于分享 7年编程经验
社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

热门标签