摘要:一是什么全稱用語言編寫的輕量級(jí)擴(kuò)展框架專注于開發(fā)。這里只是給出了一種測(cè)試方法通過多次不同并發(fā)數(shù)測(cè)試結(jié)果得知與原生性能消耗是。業(yè)務(wù)開發(fā)速度結(jié)論采用框架開發(fā)業(yè)務(wù)代碼量能節(jié)約。
一、Asf 是什么?
全稱 API Services Framework, 用C語言編寫的輕量級(jí)PHP擴(kuò)展框架, 專注于 API 開發(fā)。
二、解決了什么問題?把復(fù)雜的邏輯簡(jiǎn)單化(降低錯(cuò)誤率, 減少代碼量)
提升項(xiàng)目開發(fā)效率(您是否經(jīng)歷過,老板上午提需求,下午就得對(duì)外發(fā)布)
規(guī)范不合理的開發(fā)方式
解決輸入輸出的安全性問題
解決框架帶來的性能消耗
三、有哪些優(yōu)點(diǎn)呢?與原生PHP做比較,只有少量的性能消耗
框架對(duì)常用類進(jìn)行了實(shí)用的封裝, 類隨PHP進(jìn)程啟動(dòng)就常駐內(nèi)存
支持本地類庫自動(dòng)加載規(guī)則
支持多種配置文件格式(INI, PHP, PHP Array)
支持多種路由協(xié)議, 默認(rèn)使用RESTful路由模式, 提供方便的路由配置器
提供實(shí)用的機(jī)制: GPC, Loader, Constants, Config, SG, 999, Utili
提供日志記錄功能, 包括PHP錯(cuò)誤日志, SQL CURD日志
提供DB輔助函數(shù)(MySQL, Sqlite, Pgsql), 人性化Query Builder
支持Log buffer cache, Log resources are automatically cleared
遵循PHP PSR Standards, PHP Coding Standards
框架結(jié)構(gòu)簡(jiǎn)單, PHP標(biāo)準(zhǔn)的擴(kuò)展安裝方式, 框架上手快??蚣軋?zhí)行速度快, 更少的內(nèi)存、CPU使用
四、流程圖 五、性能5.1 總結(jié)
5.1.1 壓測(cè)結(jié)論
沒有挑取漂亮的數(shù)據(jù), 或者配置一個(gè)為了壓測(cè)的最優(yōu)環(huán)境. 只是簡(jiǎn)單地采用以大部分web機(jī)器使用的環(huán)境進(jìn)行測(cè)評(píng)。
這里只是給出了一種測(cè)試方法, 通過多次不同并發(fā)數(shù)測(cè)試結(jié)果得知, Asf 與原生 PHP 性能消耗是 6% ~ 15%。
5.1.2 業(yè)務(wù)開發(fā)速度結(jié)論
采用Asf框架開發(fā)業(yè)務(wù), 代碼量能節(jié)約 20% ~ 25%。
假如項(xiàng)目開發(fā)需要4天 x 8小時(shí), 能節(jié)約出整整1天 x 8小時(shí)的工作時(shí)間。
6.1 環(huán)境要求
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 使用內(nèi)置工具生成空項(xiàng)目
/php-bin-path/php /tools/asf_project.php /to-path/project_name
7.1.1 目錄結(jié)構(gòu)
+ 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
array( "root_path" => realpath(dirname(__FILE__)), ) ); return $configs;
7.1.3 public/index.php
run();
7.1.4 Default service
八、在Nginx/Apache/Lighttpd中運(yùn)行http://www.your-domain.com8.1 輸出結(jié)果
{ "errno": 0, "data": "Hello World" }九、LicenseAsf is open source software under the PHP License v3.01
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30755.html
摘要:一什么是預(yù)警預(yù)警可以理解成我們?nèi)粘I钪械捏w檢,每個(gè)人不管是富貴,還是貧窮,有一個(gè)健康的身體才是事業(yè)和生活的基礎(chǔ)。 一、什么是預(yù)警? 預(yù)警可以理解成我們?nèi)粘I钪械捏w檢,每個(gè)人不管是富貴,還是貧窮,有一個(gè)健康的身體才是事業(yè)和生活的基礎(chǔ)。 項(xiàng)目的健康我們形象比喻成1,項(xiàng)目的N多子功能/子模塊,比如登錄模塊、注冊(cè)模塊等都是1后面的0,如果項(xiàng)目都出問題了(比如 Http Status Cod...
摘要:傳統(tǒng)與比較傳統(tǒng)的框架每次請(qǐng)求都會(huì)去重新加載配置文件。開啟情況下還是有執(zhí)行的過程時(shí)間框架讀取到配置文件的內(nèi)容保存到系統(tǒng)內(nèi)存下一次請(qǐng)求直接去內(nèi)存讀取數(shù)據(jù)。也提供非常簡(jiǎn)單的配置實(shí)現(xiàn)。 傳統(tǒng)MVC 與 Asf 比較 傳統(tǒng)的MVC框架 每次請(qǐng)求都會(huì)去重新加載配置文件。即使配置文件內(nèi)容沒有更新, 也會(huì)去重新加載一次。這是一個(gè)很不好的設(shè)計(jì)。(開啟Opcache情況下, 還是有執(zhí)行的過程時(shí)間) Asf...
摘要:目前來看等語言還難以企及和。作為一個(gè)資深的開發(fā)者,在技術(shù)上給各位程序十點(diǎn)未來的建議,希望對(duì)大家有所幫助。開發(fā)者應(yīng)當(dāng)學(xué)習(xí)掌握規(guī)范,在開發(fā)程序時(shí)應(yīng)當(dāng)盡量遵循規(guī)范。程序員除了寫后臺(tái)程序之外,還有很大一部分工作在展現(xiàn)層,和瀏覽器前端打交道。 PHP 從誕生到現(xiàn)在已經(jīng)有20多年歷史,從Web時(shí)代興起到移動(dòng)互聯(lián)網(wǎng)退潮,互聯(lián)網(wǎng)領(lǐng)域各種編程語言和技術(shù)層出不窮, Node.js 、 GO 、 Pytho...
摘要:英特爾機(jī)架規(guī)模設(shè)計(jì)則能實(shí)現(xiàn)以機(jī)架為單位的軟硬件解耦,為裸金屬即服務(wù)提供容量更大的資源池,并可通過開放的和協(xié)議如和,高效發(fā)掘管理和調(diào)配這些資源。 江湖上,一直流傳著得IaaS(基礎(chǔ)設(shè)施即服務(wù)),得公有云天下的說法。想握緊IaaS這柄云端殺手锏,?大熱的裸金屬即服務(wù)和容器即服務(wù),還不了解一下??它們?yōu)槭裁慈绱耸苋?..
閱讀 2591·2021-11-18 10:02
閱讀 1724·2021-09-30 10:00
閱讀 5357·2021-09-22 15:27
閱讀 1226·2019-08-30 15:54
閱讀 3685·2019-08-29 11:13
閱讀 2962·2019-08-29 11:05
閱讀 3340·2019-08-29 11:01
閱讀 584·2019-08-26 13:52