上一章 文档首页 下一章
PhalApi从1.2版本进入多人协助开发和项目使用后,也开始遵守严格的版本控制。我们平均每周会修复已发现的BUG,每2-4周发布一个小版本。
分支说明
- release 发布分支,稳定的版本,可直接用于团队的项目开发
- master 主线分支,随时待发布的版本,测试验收后会合并到release进行发布
- master-X.X.X 主线的历史分支,以保留或查看历史版本
- dev 开发分支,当前用于协同开发的分支,以存放共享未完成的代码
温馨提示:自PhalApi2.x版本后,更新日记已移至更新日记 - PhalApi 2.x 开发文档。
更新日记
2017-08-29
1、迁移View扩展到PhalApi 2.x 版本
2017-08-20
1、迁移Redis扩展类库到PhalApi 2.x 版本
2017-08-17
1、修复文件上传时的Warning提示
2017-08-12
1、迁移扩展类库Task、FastRoute到PhalApi 2.x 版本
2017-08-05
1、Json格式和JsonP格式支持中文显示设置,以及其他Json选项配置
2、PhalApi_Curl部分代码优化,兼容PHP 5.3
2017-07-30
1、一些Bugfixed:内置Task扩展类库的语法问题
2、框架性能优化,请求默认接口服务,总执行时间从8,393 microsecs降到4,486 microsecs,内存峰值从1,619,544 bytes降到767,920 bytes,函数调用次数从701次降至345次,性能约提升了近一倍,不止是更快。详细Xhprof分析报告请见[这里](https://www.phalapi.net/xhprof/xhprof_html/index.php?run=597d5b9e25889&source=xhprof_foo)。
3、完善单元测试,将代码覆盖率从76%提升到91%。
4、调试模式下,追加返回框架版本号,方便定位解决问题
2017-07-15
1、添加XML格式的响应返回
2、一些BUGFIXED
3、service参数支持缩写,即使用?s=Class.Action等效于?service=Class.Action,两者都存在时优先使用service参数
2017-07-07
1、修改文件类型默认可以多选 根据选择文件是单张或多张,采取不同处理,兼容服务器端多文件上传处理方式 @Ederth
2、分表的主键问题修复
2017-06-30 v1.4.1 版本发布
1、文件上传fil类型,支持批量上传 感谢@Ederth 提交merge request
2、支持根据ret状态码转换为相应的Http状态码,使用方式:$rs->adjustHttpStatus()->output();
2017-06-24
1、启动开源产品项目PhalApi-Blog博客项目
2、在问答社区增设【招聘】栏目
3、收录基于Phalapi框架的gearman扩展(异步并发)
2017-06-17
1、为在线文档添加框架版本升级提示,方便提醒开发人员进行免费升级,并支持设置项目名称
2、phalapi-buildapp颜色在mac显示错误修正
3、phalapi-buildtest优化,并支持命名空间
4、修复MSSQL数据库插入时语法错误的问题,并且当前仅限制MySQL允许使用【`】符号
2017-06-16
1、重构listAllApis.php文件
2017-06-14
1、新收录的扩展类库:PhalApi-RongYun融云扩展类库、PhalApi-Workman、PhalApi-PHPWord
2017-06-12
1、补充接口示例到Examples,如文件上传、数据库CURD操作
2、官网文档代码支持高亮显示,方便阅读
2017-06-09
1、官网首页改版,感谢 @明 的贡献
2、在线接口列表文档优化,支持折叠和展开两种主题风格
2017-06-06
1、slogan更新为:助你创造价值!
2、官网美化
2017-06-03
1、修复swool的server端处理请求完成后无法关闭连接 感谢@Ederth 的提交
2、api文档增加测试功能 感谢@哲别 提供源码参考
3、数据库类库NotORM优化
2017-06-02
1、官网wiki支持短链访问,精简URL
2017-05-30
1、修正在使用notorm更新的时候,如果更新的字段名有desc等数据库关键字到时候,数据库报错的问题 感谢@wuxyyin 的提交
2、新增XML扩展 可以对XML 文件进行解析或生成 并且支持XML格式返回结果 感谢@喵了个咪 的提交
3、在线接口列表文档,添加显示接口服务总数
4、新增RabbitMQ扩展 可以对专业队列软件RabbitMQ进行队列出入操作
2017-05-16
1、添加SOAP扩展,可用于搭建Web Services
2、listAllApis.php支持生成离线文档,使用方式:php /path/to/listAllApis.php,感谢@秋寒 提供
2017-05-11 - v1.4.0版本同步
1、修复使用source参数规则配置时未能识别单元测试模拟测试数据的BUG,以及FastRoute的兼容性问题
2、公共的@exception 异常码和@return 返回值,可统一在类注释中标注
3、添加微信小程序扩展类库WechatMini
2017-04-21 - v1.4.0版本
1、当请求的接口服务不存在或无法调用时,把ret从原来的400调整为ret = 404。
2017-04-20
1、参数规则细化以便保持一致性,主要包括有对最值的转换处理,以及修复回调类型部分场景下不能正常工作的问题。
2017-04-14
1、追加调试功能,并把原来异常时直接500,在调试模式下更改为带有相应的异常堆栈信息的接口返回。更多说明请见文档:[2.13]-接口调试:在线SQL语句查看与性能优化
2、废弃__sql__数据库调试参数,统一只使用__debug__参数,并且不直接页面输出SQL语句,而是作为调试信息返回的一部分
3、添加全球追踪器DI()->tracer,可用于简单的执行追踪,支持自定义节点标识。注意事项:DI()->tracer当前被框架采用,如之前已注册,则会有冲突。
4、支持单个参数级别的接口参数来源,即可在接口参数规则中配置指定使用原始数据源,还是$_GET/$_POST/$_COOKIE/$_SERVER或其他。更多说明请见文档:[1.23]-请求和响应:GET和POST两者皆可得及超越JSON格式返回 感谢 @秋寒 提供
5、添加更多实用的工具函数到PhalApi_Tool,如:创建目录、删除目录等。
6、修复PhalApi_CUrl类中无法设置CURLOPT_HTTPHEADER 格式问题。
7、修复一些Issues。
8、根据Sonar报告,消除各类问题,减少技术债务。优化了44个主要代码问题。
2017-04-14
1、添加了APCU缓存支持
2017-04-12
1、优化重复的代码:DI()->request->get('service', 'Default.Index'); 并提取可重用的接口以获取接口服务名称、类名和方法名
2、支持自定义接口服务请求的方式,即更改:?service=XXX/XXX的传递方式
3、添加接口服务白名单支持,可以兼容升级,但若在生效,需要同步添加app.service_whitelist配置。以上感谢 @秋寒 提供建议
4、优化有语法上警告的代码 感谢 @Steven 反馈
2017-04-06
1、支持多个Memcache/Memcached实例配置
2017-03-16
1、官网www.phalapi.net切换到https
2017-03-12
1、添加文件上传接口到七牛扩展,并补充完善其他扩展接口服务注释
2017-03-09
1、安装模块及语言模块更新,感谢@高一平 提供
2、微信支付接口修复,感谢@秋寒 提供
2017-03-02 - v1.3.6 踏青版
1、listAllApis.php添加左侧菜单,便于多接口时文档分类显示,感谢 @初学者 提供
2、调试模式下,输出显示错误信息
3、添加英文文档:http://www.phalapi.net/wikis/en/,进度5%
4、把框架核心代码的注释翻译成英文,进度60%
2017-02-28
1、listAllApis.php支持显示扩展类库的接口
2017-02-20
1、添加Python版本的SDK包,感谢@高一平 提供
2017-02-18
1、把原来master-x.x.x分支,重命名为archive-x.x.x
2、添加繁体翻译文件,感谢@高一平 提供
2017-02-13
1、补充部分缺失的翻译
2、开启英文版本的文档编写与代码版本注释
3、修复FastRoute扩展缺少POST/GET参数的BUG
2017-02-08
1、微信支付接口增加服务商支持 感谢@442484396/秋寒 提供
2017-02-05
1、phalapi-buildapp脚本中sed命令的修正MacOS support 与GNU SED兼容,感谢@x2x4 反馈提供
2、添加@exception异常注释支持,并补充文档:[1.32]-在线接口文档:注释规范
3、添加CLI扩展类库,用于开发命令行项目
2017-01-01 - v1.3.5幺鸡贺岁小版本
1、C# SDK包代码优化,改用Json库,感谢@X反馈提供
2、phalapi-buildapp及phalapi-buildcode两个命令脚本的格式转换及注释修正
2016-10-15
1、将PhalApi_Model_NotORM::getTableName($id)抽象方法改为返回默认表名的实现,以防实现此方法而引起的报错。
2、提供PhalApi SDK for Ruby,项目地址:https://github.com/phalapi/phalapi-sdk-ruby
2016-10-15
1、错误日记追加,按现有的日记格式补充到已有的日记载体,感谢@442484396反馈
2016-10-13
1、调试模式下,数据库连接失败时显示详细的错误信息,方便定位排查问题
2016-9-3
1、C# SDK包编码从Default调整为UTF8,避免接口接收数据为乱码,感谢@shero反馈
2016-8-7
1、优化logs机制,对脚本程序进行优化,感谢@石头上的露珠 反馈
2016-07-27 - v1.3.4 暑假炫酷版
1、在线接口文档样式美化,感谢@转身.满目疮痍提供
2、#53 断开数据库链接优化,进一步对数据库断开进行深度精除
3、#56 postgresql无法获取新增数据的主键ID优化,感谢@clov4r-连友提供解决方案
4、NotORM_Result::query()由protected提升为public级别,放开限制 感谢@scott反馈
2016-07-25
1、优化NotROM进行Count时的效率
2016-06-18
1、修复生成文档时对返回参数匹配中含有空格显示问题BUG,感谢@clov4r-连友提供
2016-05-21
1、对请求类进行更新,新增了getHeader方法获取头信息
2、修复notrom-insert_multi键名是关键字会出错BUG
2016-05-14
1、添加生成代码的脚本命令:phalapi-buildcode
2016-04-30
1、Task扩展添加MC的MQ支持
2016-04-22 - v1.3.3
1、优化三个命令脚本的使用说明,使其更友好、更专业
2、# 48 接口文档注释中有空格问题优化
3、官方视频教程系列录制与发布
4、V1.3.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 - v1.3.2
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开源;