版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第如何使用Zephir輕松構(gòu)建PHP擴展目錄簡介你該安裝的第一個擴展ZephirZephir安裝結(jié)語
簡介
比如,在PHP中需要與SQLite3交互,我們可以自己寫方法與之進行連接,再寫SQL語句請求數(shù)據(jù)。然而,這都是些既瑣碎又重復(fù)度相當高的工作,因此,所有開發(fā)者對插件的需求呼之欲出。
現(xiàn)在,這款插件已經(jīng)誕生了。你只需像安裝其他擴展一樣進行安裝,然后在'php.ini'文件執(zhí)行'extension=sqllite3.so',就可以在你的php項目里對sqlite3進行訪問了。
你該安裝的第一個擴展
Zephir
官網(wǎng)文檔給出的定義是:
一種開源的高級語言,旨在簡化PHP擴展的創(chuàng)建和可維護性,重點關(guān)注類型和內(nèi)存安全性。
特點:
類型:動態(tài)/靜態(tài)。
內(nèi)存安全性:不允許指針或者直接內(nèi)存管理。
編譯模式:提前編譯。
內(nèi)存模型:本地任務(wù)垃圾回收機制。
工作原理?
把你寫好的php代碼編譯成c,然后你可以將其以擴展的形式添加到'php.ini'文件中。
下面是編譯方案的例子:
編譯方案
讓我們從Helloworld的擴展開始吧。
Zephir安裝
配置要求:
gcc=4.x/clang=3.x
re2c0.13orlater
gnumake3.81orlater
autoconf2.31orlater
automake1.14orlater
libpcre3
phpdevelopmentheadersandtools
re2c
php-zephir-parser
如果你是用Ubuntu,可以采取如下方式安裝:
sudoapt-getupdate
sudoapt-getinstallgitgccmakere2cphp7.0php7.0-jsonphp7.0-devlibpcre3-dev
參考下圖命令,確認安裝了較新的PHP版本:
參考下圖命令,確認有PHP開發(fā)庫:
然后
gitclone/phalcon/zephir
cdzephir
./install-c
驗證是否安裝正確:
zephirhelp
如果一切就緒,你應(yīng)該能在你的屏幕上看到以下幫助信息:
擴展初始化:
zephirinithelloworld
然后,一個名字為“helloworld”的目錄在當前工作目錄中被創(chuàng)建:
擴展目錄結(jié)構(gòu):
ext:包含被編譯器用來生成擴展的代碼。
helloworld:這個目錄與我們的擴展同名。我們在這個目錄中放置Zephir代碼。
config.json:這個文件包含我們可用于更改Zephir與/或此擴展的行為的配置
添加我們的第一個類:
在helloworld目錄中.
Zephir的設(shè)計初衷是用來生成面對對象的擴展,接下來我們先添加一個初始類。
我們先來在擴展中創(chuàng)建一個helloworld類,使用此類來渲染HelloWorld!。
helloworld/helloworld/greeting.zep
namespaceHelloWorld;
classGreeting
publicstaticfunctionsay()
echo"HelloWorld!";
}
接下來命令行執(zhí)行以下命令來編譯擴展:
zephirbuild
第一次運行以上命令時,會初始化一些東西。如果一些順利的話,會輸出以下內(nèi)容:
zephirbuildoutput
檢測下是否安裝成功:
在PHP代碼中測試:
zephir_helloworld.php
echoHelloWorld\Greeting::say()."\n";
接下來運行命令:
phpzephir_helloworld.php
你可以可以看到輸出
HelloWorld!
結(jié)語
如果你是PHP軟件工程師,對內(nèi)存管理等底層語言的編程方式不是特別熟悉,可以嘗試從Zephir開始寫一些簡單的擴展。
Zephir內(nèi)部已經(jīng)做好了內(nèi)存管理,但是基于其內(nèi)存安全的設(shè)計,你無法使用C語言的強大手動內(nèi)存管理功能,如果你是C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年應(yīng)聘中的筆試與面試及答案
- 2025年安徽省年事業(yè)單位考試及答案
- 2025年諸城醫(yī)學類事業(yè)編考試題及答案
- 2026重慶市屬事業(yè)單位第一季度考核招聘高層次和緊缺人才310人筆試模擬試題及答案解析
- 2025年丹陽人事考試及答案
- 2025年底圩鄉(xiāng)事業(yè)單位招聘考試及答案
- 2025年武漢音樂學院線上筆試及答案
- 2026年商標品牌保護應(yīng)用培訓
- 2025年福建事業(yè)編面試考試題及答案
- 2025年楚雄事業(yè)單位考試題目及答案
- 石材加工成本與報價分析報告
- 基于人工智能的腦卒中預(yù)后預(yù)測方案
- 幾何形體結(jié)構(gòu)素描教案
- 安全員(化工安全員)國家職業(yè)標準(2025年版)
- 制袋車間操作規(guī)范及培訓手冊
- 2025組織生活會問題清單及整改措施
- 四川省成都市簡陽市2026屆數(shù)學七上期末監(jiān)測試題含解析
- 危重癥??谱o理小組工作總結(jié)
- HPV檢測與分型課件
- 病案委員會課件
- 防爆電氣裝置維修方案(3篇)
評論
0/150
提交評論