PHP擴充架構 Asf 的介紹

來源:互聯網
上載者:User
這篇文章主要介紹了關於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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.