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

什麼是擴展生成器

每個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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章