***
PhalApi从1.2版本进入多人协助开发和项目使用后,也开始遵守严格的版本控制。我们平均每周会修复已发现的BUG,每2-4周发布一个小版本。
##分支说明
+ release 发布分支,稳定的版本,可直接用于团队的项目开发
+ master 主线分支,随时待发布的版本,测试验收后会合并到release进行发布
+ master-X.X.X 主线的历史分支,以保留或查看历史版本
+ dev 开发分支,当前用于协同开发的分支,以存放共享未完成的代码
##更新日志
###2016-04-22
```
1、优化三个命令脚本的使用说明,使其更友好、更专业
2、# 48 接口文档注释中有空格问题优化
3、官方视频教程系列录制与发布
```
###2016-04-6
```
1、维护install优化目录权限访问验证
```
###2016-04-2
```
1、修复sting类型长度验证是中文字符占用三个字符问题,使用format下标可用于定义字符编码的类型,如utf8、gbk,gb2312
2、install优化目录权限访问验证
```
###2016-03-26
```
1、V1.3.3小版本发布
```
###2016-03-18
```
1、对Redis缓存进行扩展完善,感谢 @風 提供
```
###2016-03-12
```
1、添加PhalApi客户端SDK包(Go版),感谢@prettyyjnic 提供
2、添加PhalApi客户端SDK包(React-Native版),感谢@ダSimVlove辉 提供
3、修复NotORM在调试时输出日志的warning
```
###2016-02-13
```
1、PhalApi_Api第54行!isset($this->name)判断bugfixed
```
###2016-01-18
```
1、框架中文名起用:π框架,感谢@猫哥 @Lambda! 两位的建议!
2、将JSON返回格式中的header调整为:application/json
```
###2016-01-13
```
1、添加兼容iOS下mcrypt加密的扩展类库,感谢@大蝉 提供
2、默认Demo示例下,数据库表字段从from改名为note,以防误导
3、紧急修复数据库isKeepPrimaryKeyIndex写反的问题,并紧急发布
```
###2016-01-02
```
1、修改notorm使用sql语句使用:和?替换执行sql时,对于int,bool,null进行单独处理
2、优化了PhalApi_Request_Formatter_File,支持了对文件上传类型验证增加了ext后缀名验证
3、提供CHM格式的wiki文档
4、初始化文件init.php简化,并默认装载扩展类库Library目录
5、修正install可视化安装中对listAllApis.php 和 checkApiParams.php 文件中的项目名称
6、其他一些轻量bugfixed
```
###2015-12-31(非100%完美兼容)
```
1、listAllApis.php在线接口列表,追加对“更多说明”的使用支持,即使用注释@desc
2、添加PhalApi基础教程到官方wiki,感谢 @喵了个咪 提供
3、添加Object-C的SDK包XSHttpTool,感谢 @garden! 提供
4、默认采用以数组的形式返回结果集,1.3.1及以下版本需要保持原来主键为下标的返回时,需要在init.php文件手动切换:DI()->notorm->keepPrimaryKeyIndex();
```
###2015-11-27 - v1.3.1
```
1、重构并设计格式化类:PhalApi_Request_Var,使之支持项目扩展定制化;并添加callable回调类型、为数组和日期补充最值检测
2、PhalApi_DB_NotORM上添加对数据库维度的事务操作支持 感谢@研究研究 反馈
3、重构PhalApi_DB_NotORM,以便支持定制MySQL外的数据库操作
4、bugfixed NotORM_Result::fetchPairs()的错误: Argument 1 passed to iterator_to_array() must implement interface Traversable, array given 感谢@scott 反馈
5、提供了Redis扩展类型,由 @喵了个咪 提供
6、添加支持Yaconf扩展读取配置
7、版本更新到v1.3.1 (感恩版)
```
###2015-11-07
```
1、添加Ruby版SDK包
2、完善listAllApis.php,可按注释进行字典排列,支持多级目录扫描
3、添加了DB_Cluster扩展类库,由 @喵了个咪 提供
4、添加了Medoo扩展类库,由 @转身.满目疮痍 提供
5、DI()->notorm::queryAll()与DI()->notorm::queryRows()第二个参数$parmas改成缺省默认为array()
```
###2015-10-25 - v1.3.0
```
1、用户扩展类库的完善,添加创建会话的入口,与文档完善
2、初始化文件init.php简化
3、提供可视化安装向导
4、首次线下活动尝试:官方非正式交流会第一期(广州站) --分享你在PHP接口开发中的心得与疑问
5、wiki文档二次系统整理
6、利用MDwiki部署全新的在线文档:http://wiki.phalapi.net/
7、官网首页版本迭代更新
8、添加示例目录结构图解 由@黄苗笋提供
9、listAllApis.php支持自动化生成 由@转身.满目疮痍 提供
10、落点应用框架:freeApi服务于互联网开发者的免费接口供应平台 由@转身.满目疮痍 提供,并正在致力开发完善中,请见:http://git.oschina.net/xiaoxunzhao/freeApi
11、提供基于接口查询语言的SDK包,并有JAVA版、PHP版、C#版、Objective-c版(由@Aevit 提供)、JS版(由@喵了个咪 提供)
12、PhalApi基础教程的编写 由@喵了个咪 提供,请见:http://my.oschina.net/wenzhenxi/blog/513004
13、添加了默认接口签名过滤器:PhalApi_Filter_SimpleMD5
14、加强对DI()->filter的类型检测,避免出现non-object的错误,增加容错能力
15、版本更新到v1.3.0 (1024狂欢版)
```
###2015-09-07
```
1、添加扩展类库:基于FastRoute的快速路由
2、一些轻量bugfixed
```
###2015-08-23
```
1、为接口参数规则扩展desc说明
2、补充了:[4.2] 开发实战2:模拟优酷开放平台接口项目开发
3、提供Auth 权限扩展 (由@黄苗笋提供,在这里表示再次感谢,^_^)
4、一些轻量bugfixed
5、版本更新到v1.2.1
```
###2015-07-26
```
1、修正不能获取文件类型参数
2、修正在线接口参数查询工具中对默认值输出的展示
3、修正User扩展类库中登录态检测穿透,原因在于不该使用 isset(DI->cache) 进行判断
```
###2015-07-11
```
1、计划任务Task扩展类库追加异常时的结果返回,以明确出错的原因
2、添加数据库配置注释
```
###2015-06-27
```
1、自动生成SQL语句的脚本,追加对配置数据库字符集的读取,并无表时读取默认的路由配置以便可以生成SQL
2、User扩展类库的Bugfixed
3、docs文档更新
```
###2015-06-06
```
1、接口返回参数,根据代码return注释,自动生成在线文档
2、接口参数规则中追加对文件参数的验证支持
3、将Task扩展类库转移并内置于PhalApi框架中
4、统一使用GPL协议
5、重构在线接口参数查看,使用OO的规范并提取成类放置在辅助类包中,以便接口更好地使用
6、提供统一的测试辅助类:PhalApi_Helper_TestRunner; 若需保留原来的写法,可追加: class PhalApiTestRunner extends PhalApi_Helper_TestRunner{}
7、一些bugfixed
```
###2015-05-23
```
1、添加redis缓存
2、提供计划任务扩展类库及对应的文档
3、提供项目实战示例和对应的文档
4、补充更多的文档
5、自动生成SQL语句的脚本改从./Data/目录下获取对应的建表文件,原来为./Config/sql/
6、提供一个接口开发实战示例(投票活动)
7、补充数据库的port和charset配置,port默认为3306,charset默认为UTF8
8、完成计划任务续篇,提供统一的crontab调度
```
###2015-05-07
```
1、PhalApi_Cache_Memcached更正类名为PhalApi_Cache_Memcached,注意此类名的修正所带来的影响,可以在init.php文件检测项目是否有使用MC
2、追加更低版本的Memcahce支持
3、开启1.2版本,进入多人协助开发时代
```
###2015-05-01
```
1、五一小更新,提供一致性的DB操作接口
2、添加swoole扩展类库,以支持长链接和异步任务
3、版本更新到1.1.4
```
###2015-04-24
```
1、修正数据库连接失败时显露帐号信息
```
###2015-04-17
```
1、官网完善,添加备案信息、下载、关于、许可等页面
2、对框架添加COOKIE支持、SL快速函数、CURL重试次数、字符串正则匹配验证等
3、开源用户扩展类库
4、创建PhalApi框架交流群
```
###2015-04-11
```
1、添加在线接口列表模板,及生成脚本同步更新
2、文档移至官网维护
3、官网页面开发
```
###2015-04-04
```
1、WIKI文档排版,与更多开篇的编写
2、源代码注释的对齐与再整理
3、生成项目脚本与创建项目的一些工作准备
4、提供单元测试Runner及phpunit.xml配置文件
```
###2015-03-27
```
1、代码注释完善与在线类参考手册生成:http://www.phalapi.net/docs/
```
###2015-03-21
```
1、一些bugfixed:规则下标开头大小写问题、文件缓存个数问题预防等
2、扩展类库:七牛云存储接口调用
3、文档整理和编写新的文档
```
###2015-03-15
```
1、增加对RSA加密的支持,以及超长字符串的解决方案
2、文件缓存目录拆分,以支持海量的文件缓存
3、官网再上线:www.phalapi.net
```
###2015-02-26
```
1、对之前的模型代码、查询类、多级缓存等补充完善单元测试
2、WIKI文档补充UML图示
3、Release 1.1.2 发布
```
###2015-02-24
```
1、文件缓存、空缓存及多级缓存的引入
2、表数据入口的Model基类,以供NotORM系列子类使用,关键点为主键映射和分表情况
3、结合多级缓存和广义Model,对高成本的数据获取的应对方案
4、WIKI文档补充
```
###2015-02-15
```
1、年前的更新:三篇文档的编写,到此基础入门只差多级缓存未完成;
```
###2015-02-13
```
1、代码小酌,重构代码、整理注释,让代码更明了,更统一,更达意;
2、添加工具类,其中有:IP地址获取、随机字符串生成;
3、添加扩展类库:微信开发,并编写相关使用文档;
4、添加扩展类库:phprpc协议支持及WIKI编写;
```
###2015-02-11
```
1、官网发布上线:http://112.74.107.125/,域名已申请,待绑定:www.phalapi.net;
```
###2015-02-09
```
1、将原来限制于JSON格式的返回调整成更灵活的组件形式,以便支持JSON、JSONP和测试环境下的格式返回,和扩展项目开发所需要的格式;
2、接口基类的初始化函数PhalApi_Api::initialize()精简名字为init();
3、全部核心的代码注释中的author追加个人邮箱地址;
4、单元测试完善补充和文档整理;
```
###2015-02-07
```
1、完善接口调试下SQL的输出、示例和单元测试,以及WIKI文档的编写;
2、日志接口文档的编写;
3、合并master到release,并将版本号更新到1.1.1;
```
###2015-02-04
```
1、根据质量分析后Sonar提供的报告,整理代码,包括统一的注释、对齐、代码风格、命名规则等;
2、默认服务的注册,有:DI()->request、DI()->response;
```
###2015-02-02 版本1.1.0 一个全新的开始!
```
此版本在原来的基础上进行了大量的重构和更多的规范统一,主要有:
1、分离框架代码和项目代码,便于以后框架升级;
2、统一全部的入口文件,以便不同的版本、终端、入口和测试环境使用,并隐藏PHP语言实现;
3、框架代码统一从原来的Core_改名为PhalApi_,并且把PhalApi_DI::one()统一为快速函数的写法:DI();
4、重新界定应用项目的代码目录结构,以包的形式快速开发;
5、全部文档相应更新;
//注意!此版本不兼容旧的写法,如有问题,请与我联系。
```
###2015-02-01
```
1、正常时,ret返回调整为:200,原来为0;
2、异常统一简化为两大类:客户端非法请求400、服务端运行错误500;
3、日志文件写入重构,并将权限更改为777,以便不同场合下日志写入时的permission denied;
4、单元测试整理;
```
###2015-01-31
```
1、参数规则的解析,移除不必要的固定类型,以及addslashes转换,单元测试整理;
2、参数规则文档编写:http://my.oschina.net/u/256338/blog/372947
```
###2015-01-29
```
1、examples代码重新整理,及入门文档同步更新;
2、入口文件的调整;
```
###2015-01-28
```
1、补充入门开发示例的文档,及相关的测试代码和产品代码,主要是examples;
2、提供接口参数在线查询工具;
```
###2015-01-24
```
1、PhalApi开源;
```
- 欢迎使用PhalApi!
- 接口,从简单开始!
- [1.1]-下载与安装
- [1.2]-创建一个自己的项目
- [1.3]-在线体验
- [1.4]-文档、帮助和官网
- [1.10]-对PhalApi框架的抉择
- [1.11]-快速入门(backup)
- [1.12]-参数规则:接口参数规则配置
- [1.13]-统一的接口请求方式:_sevice=XXX.XXX
- [1.14]-统一的返回格式和结构:ret-data-msg
- [1.15]-数据库操作:基于NotORM的使用及优化
- [1.16]-配置读取:内外网环境配置的完美切换
- [1.17]-日记纪录:简化版的日记接口
- [1.18]-快速函数:人性化的关怀
- [1.19]-DI服务速查:各资源服务一览表
- [1.20]-DB操作:数据库基本操作速查
- [1.21]-类的自动加载:遵循PEAR包的命名规范
- [1.22]-签名验证:自定义签名规则
- [1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回
- [1.24]-缓存策略:更灵活地可配置化的多级缓存
- [1.25]-国际化翻译:为走向国际化提前做好翻译准备
- [1.26]-数据安全:数据对称加密方案
- [1.27]-精益开发:更富表现力的Model层和重量级数据获取的应对方案
- [1.28]-COOKIE:对COOKIE原生态的支持及记忆加密升级版
- [1.29]-开放与封闭:多入口和统一初始化
- [1.30]-保持的力量:接口开发最佳实践
- [1.31]-新型计划任务:以接口形式实现的计划任务
- [2.11]-核心思想:DI依赖注入-让资源更可控
- [2.12]-海量数据:可配置的分库分表
- [2.13]-接口调试:在线SQL语句查看与性能优化
- [2.14]-测试驱动开发:意图导向编程下的接口开发
- [2.15]-演进:新型计划任务续篇
- [2.16]-领域驱动设计:应对复杂领域业务的Domain层
- [2.17]-微服务:Api接口服务层
- [2.18]-定制化:资源服务的再实现
- [2.19]-扩展库:可重用的扩展类库
- [2.20]-约定编程:架构明显的编程风格
- [2.21]-服务器统一部署方案简明版:CentOs---Nginx---php-fpm---MySql-[--Memcached]
- [2.22]-更多工具:精益项目和团队建设
- [3.1]-扩展类库:微信开发
- [3.2]-扩展类库:代理模式下phprpc协议的轻松支持
- [3.3]-扩展类库:基于PHPMailer的邮件发送
- [3.4]-扩展类库:优酷开放平台接口调用
- [3.5]-扩展类库:七牛云存储接口调用
- [3.6]-扩展类库:新型计划任务
- [3.8]-扩展类库:用户、会话和第三方登录集成
- [3.9]-扩展类库:swoole支持下的长链接和异步任务实现
- [3.11]-扩展类库:基于FastRoute的快速路由
- [4.2]-开发实战2:模拟优酷开放平台接口项目开发
- [4.3]-开发实战3:一个简单的小型项目开发(奔跑吧兄弟投票活动)
- [5.1]-架构与思想:PhalApi核心设计和思想解读
- [5.2]-杂谈:扯一些PhalApi的前世和今生
- [5.3]-框架总结:术语表和PHP开发建议
- [5.4]-许可
- [5.5]-联系和加入我们
- [5.6]-更新日记
- [5.8]-致框架贡献者:加入PhalApi开源指南
- [6.1]-基于接口查询语言的SDK包
- [6.2]-SDK包(JAVA版)
- [6.3]-SDK包(PHP版)
- [6.4]-SDK包(Objective-C版)
- [6.5]-SDK包(javascript版)
- [6.6]-SDK包(Ruby版)
- [8.1]-PhalApi视频教程
- 附录1:接口文档参考模板