亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

【php 擴(kuò)展開(kāi)發(fā)】擴(kuò)展生成器

wslongchen / 1914人閱讀

摘要:什么是擴(kuò)展生成器每個(gè)擴(kuò)展都包含一些非常公共的并且非常單調(diào)的結(jié)構(gòu)和文件,這些文件對(duì)所有擴(kuò)展來(lái)說(shuō)都是通用的。擴(kuò)展生成器就是實(shí)現(xiàn)這些功能的腳本,幫助我們完成初始化工作。源碼中提供一個(gè)自帶的生成器。

什么是擴(kuò)展生成器

每個(gè)php擴(kuò)展都包含一些非常公共的并且非常單調(diào)的結(jié)構(gòu)和文件,這些文件對(duì)所有擴(kuò)展來(lái)說(shuō)都是通用的。當(dāng)開(kāi)始一個(gè)新擴(kuò)展開(kāi)發(fā)的時(shí)候,如果這些公共的結(jié)構(gòu)已經(jīng)存在,而不需要費(fèi)力去復(fù)制每個(gè)文件的內(nèi)容, 我們只需考慮填充功能代碼那心情一定會(huì)愉快很多。

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

ext_skel

它是一個(gè) shell 腳本,僅有 300 多行。我們來(lái)看下關(guān)鍵部分代碼

# 生成 config.m4 配置文件

cat >config.m4 < sedscript
echo "s/EXTNAME/$EXTNAME/g"  >> sedscript
echo "/__function_entries_here__/r function_entries"  >> sedscript
echo "/__function_stubs_here__/r function_stubs"  >> sedscript
echo "/__header_here__/r ../../header"  >> sedscript
echo "/__footer_here__/r ../../footer"  >> sedscript
echo "/__function_entries_here__/D"  >> sedscript
echo "/__function_stubs_here__/D"  >> sedscript
echo "/__header_here__/D"  >> sedscript
echo "/__footer_here__/D"  >> sedscript
if [ ! -z "$no_help" ]; then
    echo "/confirm_$extname_compiled/D" >> sedscript
    echo "/Remove the following/,/^*//D" >> sedscript
    echo "s/[[:space:]]/*.+*///" >> sedscript
    echo "s/^/*.**/$//" >> sedscript
    echo "/^[[:space:]]*/*/,/^[[:space:]]**//D" >> sedscript
fi

sed -f sedscript < $skel_dir/skeleton.c > $extname.c

幫助說(shuō)明

./ext_skel --help

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

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

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

示例

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/30947.html

相關(guān)文章

  • laravel開(kāi)發(fā)擴(kuò)展記錄

    摘要:自動(dòng)代碼擴(kuò)展開(kāi)發(fā)時(shí)遵守的代碼風(fēng)格是項(xiàng)目開(kāi)發(fā)規(guī)范。遵照此規(guī)范,在實(shí)際操作中,有許多重復(fù),接下來(lái)推薦一款專(zhuān)為此規(guī)范量身定制的代碼生成器??梢岳么藬U(kuò)展來(lái)快速構(gòu)建項(xiàng)目原型。后續(xù)還會(huì)為大家?guī)?lái)一些最新的技術(shù)擴(kuò)展。 whoops 錯(cuò)誤提示擴(kuò)展 whoops 是一個(gè)非常優(yōu)秀的 PHP Debug 擴(kuò)展,它能夠使你在開(kāi)發(fā)中快速定位出錯(cuò)的位置。laravel默認(rèn)安裝。showImg(https://s...

    fancyLuo 評(píng)論0 收藏0
  • laravel開(kāi)發(fā)擴(kuò)展記錄

    摘要:自動(dòng)代碼擴(kuò)展開(kāi)發(fā)時(shí)遵守的代碼風(fēng)格是項(xiàng)目開(kāi)發(fā)規(guī)范。遵照此規(guī)范,在實(shí)際操作中,有許多重復(fù),接下來(lái)推薦一款專(zhuān)為此規(guī)范量身定制的代碼生成器??梢岳么藬U(kuò)展來(lái)快速構(gòu)建項(xiàng)目原型。后續(xù)還會(huì)為大家?guī)?lái)一些最新的技術(shù)擴(kuò)展。 whoops 錯(cuò)誤提示擴(kuò)展 whoops 是一個(gè)非常優(yōu)秀的 PHP Debug 擴(kuò)展,它能夠使你在開(kāi)發(fā)中快速定位出錯(cuò)的位置。laravel默認(rèn)安裝。showImg(https://s...

    魏憲會(huì) 評(píng)論0 收藏0
  • PHP擴(kuò)展開(kāi)發(fā):第一個(gè)擴(kuò)展

    摘要:擴(kuò)展開(kāi)發(fā)第一個(gè)擴(kuò)展擴(kuò)展開(kāi)發(fā)安裝定時(shí)器在上一篇文章擴(kuò)展開(kāi)發(fā)安裝我們已經(jīng)將開(kāi)發(fā)擴(kuò)展的環(huán)境安裝成功,那么接下來(lái)采用最簡(jiǎn)單直接的方式創(chuàng)建第一個(gè)擴(kuò)展。 PHP擴(kuò)展開(kāi)發(fā):第一個(gè)擴(kuò)展 《PHP擴(kuò)展開(kāi)發(fā):安裝PHP》《POSIX定時(shí)器:timer_settime() 》在上一篇文章《PHP擴(kuò)展開(kāi)發(fā):安裝PHP》我們已經(jīng)將開(kāi)發(fā)PHP擴(kuò)展的PHP環(huán)境安裝成功,那么接下來(lái)采用最簡(jiǎn)單直接的方式創(chuàng)建第一個(gè)擴(kuò)展。...

    JerryWangSAP 評(píng)論0 收藏0
  • PHP擴(kuò)展開(kāi)發(fā)教程1 - 相關(guān)開(kāi)發(fā)技術(shù)對(duì)比及介紹

    摘要:四使用語(yǔ)言開(kāi)發(fā)是我重點(diǎn)推薦的擴(kuò)展開(kāi)發(fā)框架,簡(jiǎn)明易懂,功能強(qiáng)大,開(kāi)發(fā)效率高,代碼易維護(hù),執(zhí)行速度快。優(yōu)點(diǎn)三支持,的擴(kuò)展開(kāi)發(fā)有兩套擴(kuò)展開(kāi)發(fā)框架,分別支持,,雖然框架代碼有兩個(gè),但是接口卻是一樣的。 PHP擴(kuò)展是高級(jí)PHP程序員必須了解的技能之一,對(duì)于一個(gè)初入門(mén)的PHP擴(kuò)展開(kāi)發(fā)者,怎么才能開(kāi)發(fā)一個(gè)成熟的擴(kuò)展,進(jìn)入PHP開(kāi)發(fā)的高級(jí)領(lǐng)域呢?本系列開(kāi)發(fā)教程將手把手帶您從入門(mén)進(jìn)入高級(jí)階段。本教程系列...

    alaege 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<