新一代輕量級PHP擴展框架 Asf

clipboard.png

1、Asf 是什麼?

全稱 API Services Framework, 用C語言編寫的輕量級PHP擴展框架, 專一於 API 開發。php

2、解決了什麼問題?

  • 把複雜的邏輯簡單化(下降錯誤率, 減小代碼量)
  • 提高項目開發效率(您是否經歷過,老闆上午提需求,下午就得對外發布)
  • 規範不合理的開發方式
  • 解決輸入輸出的安全性問題
  • 解決框架帶來的性能消耗

3、有哪些優勢呢?

  • 與原生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使用

4、流程圖

clipboard.png

5、性能

clipboard.png

5.1 總結html

5.1.1 壓測結論git

沒有挑取漂亮的數據, 或者配置一個爲了壓測的最優環境. 只是簡單地採用以大部分web機器使用的環境進行測評。
這裏只是給出了一種測試方法, 經過屢次不一樣併發數測試結果得知, Asf 與原生 PHP 性能消耗是 6% ~ 15%github

5.1.2 業務開發速度結論web

採用Asf框架開發業務, 代碼量能節約 20% ~ 25%
假如項目開發須要4天 x 8小時, 能節約出整整1天 x 8小時的工做時間。sql

6、安裝

6.1 環境要求api

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 文檔app

http://www.box3.cn/phpasf/index.html

7、開始使用

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

<?php
define('APP_PATH', dirname(__DIR__));

$app = new Asf_Application(APP_PATH . '/config/config.php');
$app->run();

7.1.4 Default service

<?php
class IndexService
{
    public function indexAction()
    {
        return 'Hello World';
    }
}

8、在Nginx/Apache/Lighttpd中運行

http://www.your-domain.com

8.1 輸出結果

{
    "errno": 0,
    "data": "Hello World"
}

9、License

Asf is open source software under the PHP License v3.01

相關文章
相關標籤/搜索