【圖片打不開,請用代理】php
PHP擴展是編譯庫,它容許在您的PHP代碼中使用特定的功能(主要是使用C編寫的php擴展)。git
例如,您須要使用PHP使用SQLite3,您能夠實現本身的方法和功能來鏈接到Sqlite3,從您的應用程序級別向DB進行查詢,但這不是一項簡單的任務,插件不只是您本身的要求,但其餘開發人員須要作相似的事情。程序員
因此有人開發了它並將其做爲php擴展發送,您能夠安裝此擴展並php.ini
使用如下內容啓用它extension=sqllite3.so
,而且您能夠經過您的應用程序級別訪問全部sqlite3功能,在這種狀況下是php。github
根據zephir官方文檔,您能夠將其定義以下sql
一種開源的,高級/域特定的語言,旨在簡化PHP擴展的建立和可維護性,重點關注類型和內存安全性。
特徵:json
這個怎麼運做 ?canvas
您編寫PHP代碼並將您的代碼編譯爲c擴展名,最後您能夠將其添加到您的php.ini
文件中。安全
這是編譯方案的例子:php7
編制方案工具
要求 :
若是您使用的是Ubuntu,則能夠經過如下方式安裝所需的軟件包:
sudo apt-get update
sudo apt-get install git gcc make re2c php7.0 php7.0-json php7.0-dev libpcre3-dev
因爲Zephir是用PHP編寫的,所以您須要安裝最新版本的PHP 7.2,而且必須在您的控制檯中使用它。
此外,請確保您還安裝了PHP開發庫以及PHP安裝。
腳步
git clone https://github.com/phalcon/zephir
cd zephir
./install -c
驗證您的安裝
zephir幫助
若是一切順利,您應該在屏幕上看到如下幫助:
擴展骨架:
zephir init helloworld
在此以後,在當前工做目錄上建立一個名爲「helloworld」的目錄:
擴展目錄結構
添加咱們的頭等艙:
在helloworld目錄中。
Zephir旨在生成面向對象的擴展。要開始開發功能,咱們須要將第一個類添加到擴展中。
讓咱們在擴展中建立helloworld類來渲染hello world
此類的代碼必須放在「helloworld / helloworld / greeting.zep」中:
namespace HelloWorld; class Greeting { public static function say() { echo "Hello World!"; } }
如今,咱們須要告訴Zephir咱們的項目必須編譯並生成擴展:
zephir build
最初,而且只是第一次執行許多內部命令,生成必要的代碼和配置以將此類導出到PHP擴展,若是一切順利,您將在輸出的末尾看到如下消息:
zephir構建輸出
安裝驗證:
從PHP測試您的擴展:
<?php echo HelloWorld\Greeting::say()."\n";
運行如下命令,
php zephir_helloworld.php
您的輸出應該是如下Hello World!
若是你是軟件工程師,php開發人員須要開發和使用php如何工做以及如何構建本身的擴展我建議zephir有一個很是強大的文檔和felxability也是它的內存安全管理。可是因爲它有一些限制,根據如下Zephir被設計爲安全,因此它不實現指針或手動內存管理,因此若是你是一個C程序員,你會以爲Zephir不如C強大但比C更友好。
參考文獻: