這篇文章主要介紹了關於PHP擴充架構 Asf 的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
一、Asf 是什嗎?
全稱 API Services Framework, 用C語言編寫的輕量級PHP擴充架構, 專註於 API 開發。
二、解決了什麼問題?
三、有哪些優點呢?
與原生PHP做比較,只有少量的效能消耗
架構對常用類進行了實用的封裝, 類隨PHP進程啟動就常駐記憶體
支援本地類庫自動載入規則
支援多種設定檔格式(INI, PHP, PHP Array)
支援多種路由協議, 預設使用RESTful路由模式, 提供方便的路由配置器
提供實用的機制: GPC, Loader, Constants, Config, SG, 999, Utili
提供日誌記錄功能, 包括PHP錯誤記錄檔, SQL CURD日誌
提供DB輔助函數(MySQL, Sqlite, Pgsql), 人性化Query Builder
支援Log buffer cache, Log resources are automatically cleared
遵循PHP PSR Standards, PHP Coding Standards
架構結構簡單, PHP標準的擴充安裝方式, 架構上手快。架構執行速度快, 更少的記憶體、CPU使用
四、流程圖
五、效能
5.1 總結
5.1.1 壓測結論
沒有挑取漂亮的資料, 或者配置一個為了壓測的最優環境. 只是簡單地採用以大部分web機器使用的環境進行測評。
這裡只是給出了一種測試方法, 通過多次不同並發數測試結果得知, Asf 與原生 PHP 效能消耗是 6% ~ 15%。
5.1.2 業務開發速度結論
採用Asf架構開發業務, 代碼量能節約 20% ~ 25%。
假如項目開發需要4天 x 8小時, 能節約出整整1天 x 8小時的工作時間。
六、安裝
6.1 環境要求
PHP 7.0 +GCC 4.4.0+ (Recommended GCC 4.8+)
6.2 下載
git clone https://github.com/yulonghu/asf.git
6.3 在Linux/Unix/Mac下編譯
$ /path/to/phpize$ ./configure --with-php-config=/path/to/php-config$ make && make install
6.4 文檔
http://www.box3.cn/phpasf/index.html
七、開始使用
7.1 使用內建工具產生空項目
/php-bin-path/php /tools/asf_project.php /to-path/project_name
7.1.1 目錄結構
+ public | - index.php+ config | - config.php+ library+ modules | - Bootstrap.php | - Constants.php + api |+ services |- Index.php // Default service |+ logics |+ daos
7.1.2 config/config.php
<?php$configs = array( 'asf' => array( 'root_path' => realpath(dirname(__FILE__)), ));return $configs;
7.1.3 public/index.php
<?phpdefine('APP_PATH', dirname(__DIR__));$app = new Asf_Application(APP_PATH . '/config/config.php');$app->run();
7.1.4 Default service
<?phpclass IndexService{ public function indexAction() { return 'Hello World'; }}
八、在Nginx/Apache/Lighttpd中運行
http://www.your-domain.com
8.1 輸出結果
{ "errno": 0, "data": "Hello World"}
九、License
Asf is open source software under the PHP License v3.01
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!