PhalApi框架是一款轻量级的PHP开源接口框架,軟件拥有自动生成在线文档、开发多种语言客户端SDK包和可重用的扩展类库,支持支持HTTP/SOAP/RPC协议,可用于搭建微服务、RESTful接口或Web Services,支持PHP7,需要的朋友可以下载哦!
PhalApi新功能
1、框架中文名起用:π框架,其含義有:
π取自派發音(pai),容易記憶,與框架名字諧音
π是無理數,無限循環,符合PhalApi不斷更新、保持生氣的初衷
π是圓周率,代表著我們中國的曆史文化
π是一個數學符號,而數據與計算機編程又有著不可分割的微妙聯系
π也是一個可以繼續精化的數字,體現著PhalApi希望能夠敢爲人先,專注接口,彙衆之長,自成一派
2、添加的SDK包
Go版 SDK包
React-Native版 SDK包
3、一些輕量級bugfixed及優化
對Redis緩存進行擴展完善
加強install優化目錄權限訪問驗證
修複NotORM在調試時輸出日志的warning
PhalApi_Api第54行!isset($this->name)判斷bugfixed
修複sting類型長度驗證是中文字符占用三個字符問題
接口文檔注釋中有空格問題優化
將JSON返回格式中的header調整爲:application/json
4、新增的擴展類庫
用于更複雜的curl請求的Facepp擴展
封裝了阿雲OSS的OSS擴展
視圖View擴展
基于性能分析的Xhprof擴展
文件壓縮Zip擴展
APK文件解包APK擴展
兼容iOS下mcrypt加密的CryptTraffic擴展
基于log4php日志的Log4php擴展
5、優化三個命令腳本的使用說明,使其更友好、更專業
6、錄制官方視頻教程系列
軟件特色
1、結構清晰,互不幹擾
就我个人感觉来说,在实际开发中使用这样的三层结构带来的最大的好处在于结构清晰,为什么这么说呢?因为每一层需要做的事情都是非常独立的,你永远不会在A PI层中看到数据操作的代码,所以在排查问题的时候,如果是数据出了问题,肯定不会去API层里面去找,这样就非常方便错误的定位,再者就是代码可读性非常高,相对 于mvc框架来说这样的好处是非常明显的。
2、 高度解耦,灵活高可用
带来的第二个很重要的好处就是解耦和高可用,高可用体现在Api可以重复利用Domain,Domain可以重复利用Model,这样可以减少很多不必要的代码量。如果相互 的关系仅仅只是拼接(除非是结果会互相影响)的情况下就实现了解耦。
3、分工合作,提高效率
在有这样的一套规范之后在分工合用时,对方不需要去看你的代码具体实现了什么,只需要看你这个方法干了什么,直接拿起来用就可以了,当然是在业务划分成小块 的情况下,而且可以很明确的划分出来模块,当你需要用到对方的模块的时候只需要让对方提供即可,这样可以增加模块的专注性,从而提高合作开发的效率。
Phalapi安裝方法
1、windowns系統下的XAMPP
將PhalApi框架下載後,解壓到xampp的htdocs目錄下
訪問:
http://localhost/phalapi/public/demo/即可看到
2、Linux系統下的Nginx
将PhalApi框架下载并解压到指定目录,假设为: /home/apps/projects/ ,则先配置nginx:
server {
listen 80;
server_name dev.phalapi.com;
root /home/apps/projects/PhalApi/Public;
charset utf-8;
access_log logs/dev.phalapi.com.access.log;
error_log logs/dev.phalapi.com.error.log;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
然後,檢測並重啓nginx:
$ nginx -t
$ nginx -s reload
在本地綁定HOST:
#PhalApi小牛試刀
127.0.0.1 dev.phalapi.com
最后,访问默认接口服务: http://dev.phalapi.com/demo/ ,正常时会返回类如:
{
"ret": 200,
"data": {
"title": "Default Api",
"content": "PHPer您好,欢迎使用PhalApi!",
"version": "1.1.0",
"time": 1422779027
},
"msg": ""
}