【php 擴展開發】擴展生成器

PHP技術大全 / 2019-03-15 15:01:42

什么是擴展生成器

每個php擴展都包含一些非常公共的并且非常單調的結構和文件,這些文件對所有擴展來說都是通用的。當開始一個新擴展開發的時候,如果這些公共的結構已經存在,而不需要費力去復制每個文件的內容, 我們只需考慮填充功能代碼那心情一定會愉快很多。

擴展生成器就是實現這些功能的腳本,幫助我們完成初始化工作。 PHP 源碼中提供一個自帶的生成器 ext_skel。他在 ext 目錄下。

ext_skel

./ext_skel --help

它提示了我們腳本的命令行格式和支持的參數

./ext_skel --extname=module [--proto=file] [--stubs=file] [--xml[=file]]
[--skel=dir] [--full-xml] [--no-help]

--extname=module 擴展名稱,全為小寫字母的標識符,僅包含字母和下劃線,保證在 php 源碼 ext 目錄下的文件夾名唯一
--proto=file 允許開發人員指定一個頭文件,由此創建一系列 PHP 函數,表面上看就是要開發基于一個函數庫的擴展,很少用
--stubs=file 僅生成文件中的函數存根,生成 IDE 提示文件可能有用
--xml generate xml documentation to be added to phpdoc-svn 沒用
--skel=dir path to the skeleton directory 指定擴展骨架目錄,如果你想在 ext 目錄以外的地方生成,那這個有用
--full-xml generate xml documentation for a self-contained extension (not yet implemented) 沒用
--no-help don't try to be nice and create comments in the code and helper functions to test if the module compiled 去除生成測試函數和注釋等內容,除非你很熟練,不建議操作

示例

/usr/local/src/php-7.2.15/ext/ext_skel --extname=twinkle_log --skel=/usr/local/src/php-7.2.15/ext/skeleton/

干貨分享

敬請關注“PHP技術大全”微信公眾號


4399小游戏上海麻将连连看 时时一天赚2000技巧 哈尔滨麻将一共多少张牌 白姐正版四不像生肖 攒劲甘肃麻将技巧 香港一个特马 吉林体彩快三开奖 北京赛车pk直播求指点呀 pk10三码必中冠军计划 吉林快三免费计划精准手机版 抢十二生肖赚钱的软件