日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Zephir--最简单的php扩展开发工具(chpjmb的博客)

發(fā)布時(shí)間:2023/12/15 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 Zephir--最简单的php扩展开发工具(chpjmb的博客) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

php的擴(kuò)展是用c語言編寫,Zend是語言引擎,PHP內(nèi)核。在實(shí)際編寫php擴(kuò)展的時(shí)候,需要使用大量的Zend Api,雖然運(yùn)行效率高,但是其實(shí)難度也比較大。見:http://php.net/manual/zh/internals2.ze1.zendapi.php

Zephir提供了一種類似php的高級(jí)語言語法的方式,來自動(dòng)生成擴(kuò)展的c語言代碼,使編寫php擴(kuò)展變得非常的簡單。

官網(wǎng):http://www.zephir-lang.com/
官方的安裝教程:http://www.zephir-lang.com/welcome.html
ubuntu下需要安裝相關(guān)的依賴

$ sudo apt-get update$ sudo apt-get install git gcc make re2c php5 php5-json php5-dev libpcre3-dev

登錄后復(fù)制

當(dāng)然別的平臺(tái)根據(jù)實(shí)際提示,安裝對(duì)應(yīng)的程序即可

$ git clone https://github.com/phalcon/zephir$ cd zephir$ ./install-json$ ./install -c

登錄后復(fù)制

測(cè)試安裝是否成功

$ zephir help

登錄后復(fù)制

使用示例如下:

$ zephir init utils

登錄后復(fù)制

會(huì)在當(dāng)前目錄下生成

ext/ utils/ config.json

登錄后復(fù)制

然后編輯utils子目錄下的greeting.zep 內(nèi)容如下:

 namespace Utils; class Greeting {     public static function say()     {         var a = "hello world";         echo strtoupper(a);     } }

登錄后復(fù)制

這里的namespace是必須添加的,輸出大寫的"hello,world"。可以直接使用php的內(nèi)置函數(shù)。
然后運(yùn)行

$ zephir build

登錄后復(fù)制

然后就會(huì)在擴(kuò)展目錄下生成utils.so,修改php.ini添加添加該擴(kuò)展。調(diào)用方法:

<?phpecho Utils\Greeting::say(), "\n";

登錄后復(fù)制

擴(kuò)展閱讀:
zephir生成的c語言文件默認(rèn)在/ext/utils/greeting.zep.c,核心內(nèi)容如下:

PHP_METHOD(Utils_Greeting, say) {    zval *a, *_0;    ZEPHIR_MM_GROW();    ZEPHIR_INIT_VAR(a);    ZVAL_STRING(a, "hello world", 1);    ZEPHIR_INIT_VAR(_0);    zephir_fast_strtoupper(_0, a);    zend_print_zval(_0, 0);    ZEPHIR_MM_RESTORE();}

登錄后復(fù)制

可以發(fā)現(xiàn)zephir一方面直接zend api 如:zend_print_zval。另一方面封裝了zend api,如:zephir_fast_strtoupper 。直接修改該文件的c代碼,使用原php擴(kuò)展的編輯方法也是可以滴。

總結(jié)

以上是生活随笔為你收集整理的Zephir--最简单的php扩展开发工具(chpjmb的博客)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。