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": ""
}