PhalApi从1.2版本进入多人协助开发和项目使用后,也开始遵守严格的版本控制。我们平均每周会修复已发现的BUG,每2-4周发布一个小版本。

分支说明

  • release 发布分支,稳定的版本,可直接用于团队的项目开发
  • master 主线分支,随时待发布的版本,测试验收后会合并到release进行发布
  • master-X.X.X 主线的历史分支,以保留或查看历史版本
  • dev 开发分支,当前用于协同开发的分支,以存放共享未完成的代码
温馨提示:自PhalApi2.x版本后,更新日记已移至更新日记 - PhalApi 2.x 开发文档

更新日记

2017-08-29

  1. 1、迁移View扩展到PhalApi 2.x 版本

2017-08-20

  1. 1、迁移Redis扩展类库到PhalApi 2.x 版本

2017-08-17

  1. 1、修复文件上传时的Warning提示

2017-08-12

  1. 1、迁移扩展类库TaskFastRoutePhalApi 2.x 版本

2017-08-05

  1. 1Json格式和JsonP格式支持中文显示设置,以及其他Json选项配置
  2. 2PhalApi_Curl部分代码优化,兼容PHP 5.3

2017-07-30

  1. 1、一些Bugfixed:内置Task扩展类库的语法问题
  2. 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. 3、完善单元测试,将代码覆盖率从76%提升到91%。
  4. 4、调试模式下,追加返回框架版本号,方便定位解决问题

2017-07-15

  1. 1、添加XML格式的响应返回
  2. 2、一些BUGFIXED
  3. 3service参数支持缩写,即使用?s=Class.Action等效于?service=Class.Action,两者都存在时优先使用service参数

2017-07-07

  1. 1、修改文件类型默认可以多选 根据选择文件是单张或多张,采取不同处理,兼容服务器端多文件上传处理方式 @Ederth
  2. 2、分表的主键问题修复

2017-06-30 v1.4.1 版本发布

  1. 1、文件上传fil类型,支持批量上传 感谢@Ederth 提交merge request
  2. 2、支持根据ret状态码转换为相应的Http状态码,使用方式:$rs->adjustHttpStatus()->output();

2017-06-24

  1. 1、启动开源产品项目PhalApi-Blog博客项目
  2. 2、在问答社区增设【招聘】栏目
  3. 3、收录基于Phalapi框架的gearman扩展(异步并发)

2017-06-17

  1. 1、为在线文档添加框架版本升级提示,方便提醒开发人员进行免费升级,并支持设置项目名称
  2. 2phalapi-buildapp颜色在mac显示错误修正
  3. 3phalapi-buildtest优化,并支持命名空间
  4. 4、修复MSSQL数据库插入时语法错误的问题,并且当前仅限制MySQL允许使用【`】符号

2017-06-16

  1. 1、重构listAllApis.php文件

2017-06-14

  1. 1、新收录的扩展类库:PhalApi-RongYun融云扩展类库、PhalApi-WorkmanPhalApi-PHPWord

2017-06-12

  1. 1、补充接口示例到Examples,如文件上传、数据库CURD操作
  2. 2、官网文档代码支持高亮显示,方便阅读

2017-06-09

  1. 1、官网首页改版,感谢 @明 的贡献
  2. 2、在线接口列表文档优化,支持折叠和展开两种主题风格

2017-06-06

  1. 1slogan更新为:助你创造价值!
  2. 2、官网美化

2017-06-03

  1. 1、修复swoolserver端处理请求完成后无法关闭连接 感谢@Ederth 的提交
  2. 2api文档增加测试功能 感谢@哲别 提供源码参考
  3. 3、数据库类库NotORM优化

2017-06-02

  1. 1、官网wiki支持短链访问,精简URL

2017-05-30

  1. 1、修正在使用notorm更新的时候,如果更新的字段名有desc等数据库关键字到时候,数据库报错的问题 感谢@wuxyyin 的提交
  2. 2、新增XML扩展 可以对XML 文件进行解析或生成 并且支持XML格式返回结果 感谢@喵了个咪 的提交
  3. 3、在线接口列表文档,添加显示接口服务总数
  4. 4、新增RabbitMQ扩展 可以对专业队列软件RabbitMQ进行队列出入操作

2017-05-16

  1. 1、添加SOAP扩展,可用于搭建Web Services
  2. 2listAllApis.php支持生成离线文档,使用方式:php /path/to/listAllApis.php,感谢@秋寒 提供

2017-05-11 - v1.4.0版本同步

  1. 1、修复使用source参数规则配置时未能识别单元测试模拟测试数据的BUG,以及FastRoute的兼容性问题
  2. 2、公共的@exception 异常码和@return 返回值,可统一在类注释中标注
  3. 3、添加微信小程序扩展类库WechatMini

2017-04-21 - v1.4.0版本

  1. 1、当请求的接口服务不存在或无法调用时,把ret从原来的400调整为ret = 404

2017-04-20

  1. 1、参数规则细化以便保持一致性,主要包括有对最值的转换处理,以及修复回调类型部分场景下不能正常工作的问题。

2017-04-14

  1. 1、追加调试功能,并把原来异常时直接500,在调试模式下更改为带有相应的异常堆栈信息的接口返回。更多说明请见文档:[2.13]-接口调试:在线SQL语句查看与性能优化
  2. 2、废弃__sql__数据库调试参数,统一只使用__debug__参数,并且不直接页面输出SQL语句,而是作为调试信息返回的一部分
  3. 3、添加全球追踪器DI()->tracer,可用于简单的执行追踪,支持自定义节点标识。注意事项:DI()->tracer当前被框架采用,如之前已注册,则会有冲突。
  4. 4、支持单个参数级别的接口参数来源,即可在接口参数规则中配置指定使用原始数据源,还是$_GET/$_POST/$_COOKIE/$_SERVER或其他。更多说明请见文档:[1.23]-请求和响应:GETPOST两者皆可得及超越JSON格式返回 感谢 @秋寒 提供
  5. 5、添加更多实用的工具函数到PhalApi_Tool,如:创建目录、删除目录等。
  6. 6、修复PhalApi_CUrl类中无法设置CURLOPT_HTTPHEADER 格式问题。
  7. 7、修复一些Issues
  8. 8、根据Sonar报告,消除各类问题,减少技术债务。优化了44个主要代码问题。

2017-04-14

  1. 1、添加了APCU缓存支持

2017-04-12

  1. 1、优化重复的代码:DI()->request->get('service', 'Default.Index'); 并提取可重用的接口以获取接口服务名称、类名和方法名
  2. 2、支持自定义接口服务请求的方式,即更改:?service=XXX/XXX的传递方式
  3. 3、添加接口服务白名单支持,可以兼容升级,但若在生效,需要同步添加app.service_whitelist配置。以上感谢 @秋寒 提供建议
  4. 4、优化有语法上警告的代码 感谢 @Steven 反馈

2017-04-06

  1. 1、支持多个Memcache/Memcached实例配置

2017-03-16

  1. 1、官网www.phalapi.net切换到https

2017-03-12

  1. 1、添加文件上传接口到七牛扩展,并补充完善其他扩展接口服务注释

2017-03-09

  1. 1、安装模块及语言模块更新,感谢@高一平 提供
  2. 2、微信支付接口修复,感谢@秋寒 提供

2017-03-02 - v1.3.6 踏青版

  1. 1listAllApis.php添加左侧菜单,便于多接口时文档分类显示,感谢 @初学者 提供
  2. 2、调试模式下,输出显示错误信息
  3. 3、添加英文文档:http://www.phalapi.net/wikis/en/,进度5%
  4. 4、把框架核心代码的注释翻译成英文,进度60%

2017-02-28

  1. 1listAllApis.php支持显示扩展类库的接口

2017-02-20

  1. 1、添加Python版本的SDK包,感谢@高一平 提供

2017-02-18

  1. 1、把原来master-x.x.x分支,重命名为archive-x.x.x
  2. 2、添加繁体翻译文件,感谢@高一平 提供

2017-02-13

  1. 1、补充部分缺失的翻译
  2. 2、开启英文版本的文档编写与代码版本注释
  3. 3、修复FastRoute扩展缺少POST/GET参数的BUG

2017-02-08

  1. 1、微信支付接口增加服务商支持 感谢@442484396/秋寒 提供

2017-02-05

  1. 1phalapi-buildapp脚本中sed命令的修正MacOS support GNU SED兼容,感谢@x2x4 反馈提供
  2. 2、添加@exception异常注释支持,并补充文档:[1.32]-在线接口文档:注释规范
  3. 3、添加CLI扩展类库,用于开发命令行项目

2017-01-01 - v1.3.5幺鸡贺岁小版本

  1. 1C# SDK包代码优化,改用Json库,感谢@X反馈提供
  2. 2phalapi-buildappphalapi-buildcode两个命令脚本的格式转换及注释修正

2016-10-15

  1. 1、将PhalApi_Model_NotORM::getTableName($id)抽象方法改为返回默认表名的实现,以防实现此方法而引起的报错。
  2. 2、提供PhalApi SDK for Ruby,项目地址:https://github.com/phalapi/phalapi-sdk-ruby

2016-10-15

  1. 1、错误日记追加,按现有的日记格式补充到已有的日记载体,感谢@442484396反馈

2016-10-13

  1. 1、调试模式下,数据库连接失败时显示详细的错误信息,方便定位排查问题

2016-9-3

  1. 1C# SDK包编码从Default调整为UTF8,避免接口接收数据为乱码,感谢@shero反馈

2016-8-7

  1. 1、优化logs机制,对脚本程序进行优化,感谢@石头上的露珠 反馈

2016-07-27 - v1.3.4 暑假炫酷版

  1. 1、在线接口文档样式美化,感谢@转身.满目疮痍提供
  2. 2、#53 断开数据库链接优化,进一步对数据库断开进行深度精除
  3. 3、#56 postgresql无法获取新增数据的主键ID优化,感谢@clov4r-连友提供解决方案
  4. 4NotORM_Result::query()由protected提升为public级别,放开限制 感谢@scott反馈

2016-07-25

  1. 1、优化NotROM进行Count时的效率

2016-06-18

  1. 1、修复生成文档时对返回参数匹配中含有空格显示问题BUG,感谢@clov4r-连友提供

2016-05-21

  1. 1、对请求类进行更新,新增了getHeader方法获取头信息
  2. 2、修复notrom-insert_multi键名是关键字会出错BUG

2016-05-14

  1. 1、添加生成代码的脚本命令:phalapi-buildcode

2016-04-30

  1. 1Task扩展添加MCMQ支持

2016-04-22 - v1.3.3

  1. 1、优化三个命令脚本的使用说明,使其更友好、更专业
  2. 2、# 48 接口文档注释中有空格问题优化
  3. 3、官方视频教程系列录制与发布
  4. 4V1.3.3小版本再次更新及发布公告

2016-04-6

  1. 1、维护install优化目录权限访问验证

2016-04-2

  1. 1、修复sting类型长度验证是中文字符占用三个字符问题,使用format下标可用于定义字符编码的类型,如utf8gbk,gb2312
  2. 2install优化目录权限访问验证

2016-03-26

  1. 1V1.3.3小版本发布

2016-03-18

  1. 1、对Redis缓存进行扩展完善,感谢 @風 提供

2016-03-12

  1. 1、添加PhalApi客户端SDK包(Go版),感谢@prettyyjnic 提供
  2. 2、添加PhalApi客户端SDK包(React-Native版),感谢@ダSimVlove 提供
  3. 3、修复NotORM在调试时输出日记的warning

2016-02-13

  1. 1PhalApi_Api54行!isset($this->name)判断bugfixed

2016-01-18

  1. 1、框架中文名起用:π框架,感谢@猫哥 @Lambda! 两位的建议!
  2. 2、将JSON返回格式中的header调整为:application/json

2016-01-13

  1. 1、添加兼容iOSmcrypt加密的扩展类库,感谢@大蝉 提供
  2. 2、默认Demo示例下,数据库表字段从from改名为note,以防误导
  3. 3、紧急修复数据库isKeepPrimaryKeyIndex写反的问题,并紧急发布

2016-01-02 - v1.3.2

  1. 1、修改notorm使用sql语句使用:和?替换执行sql时,对于int,bool,null进行单独处理
  2. 2、优化了PhalApi_Request_Formatter_File,支持了对文件上传类型验证增加了ext后缀名验证
  3. 3、提供CHM格式的wiki文档
  4. 4、初始化文件init.php简化,并默认装载扩展类库Library目录
  5. 5、修正install可视化安装中对listAllApis.php checkApiParams.php 文件中的项目名称
  6. 6、其他一些轻量bugfixed

2015-12-31(非100%完美兼容)

  1. 1listAllApis.php在线接口列表,追加对“更多说明”的使用支持,即使用注释@desc
  2. 2、添加PhalApi基础教程到官方wiki,感谢 @喵了个咪 提供
  3. 3、添加Object-CSDKXSHttpTool,感谢 @garden 提供
  4. 4、默认采用以数组的形式返回结果集,1.3.1及以下版本需要保持原来主键为下标的返回时,需要在init.php文件手动切换:DI()->notorm->keepPrimaryKeyIndex();

2015-11-27 - v1.3.1

  1. 1、重构并设计格式化类:PhalApi_Request_Var,使之支持项目扩展定制化;并添加callable回调类型、为数组和日期补充最值检测
  2. 2PhalApi_DB_NotORM上添加对数据库维度的事务操作支持 感谢@研究研究 反馈
  3. 3、重构PhalApi_DB_NotORM,以便支持定制MySQL外的数据库操作
  4. 4bugfixed NotORM_Result::fetchPairs()的错误: Argument 1 passed to iterator_to_array() must implement interface Traversable, array given 感谢@scott 反馈
  5. 5、提供了Redis扩展类型,由 @喵了个咪 提供
  6. 6、添加支持Yaconf扩展读取配置
  7. 7、版本更新到v1.3.1 (感恩版)

2015-11-07

  1. 1、添加RubySDK
  2. 2、完善listAllApis.php,可按注释进行字典排列,支持多级目录扫描
  3. 3、添加了DB_Cluster扩展类库,由 @喵了个咪 提供
  4. 4、添加了Medoo扩展类库,由 @转身.满目疮痍 提供
  5. 5DI()->notorm::queryAll()与DI()->notorm::queryRows()第二个参数$parmas改成缺省默认为array()

2015-10-25 - v1.3.0

  1. 1、用户扩展类库的完善,添加创建会话的入口,与文档完善
  2. 2、初始化文件init.php简化
  3. 3、提供可视化安装向导
  4. 4、首次线下活动尝试:官方非正式交流会第一期(广州站) --分享你在PHP接口开发中的心得与疑问
  5. 5wiki文档二次系统整理
  6. 6、利用MDwiki部署全新的在线文档:http://wiki.phalapi.net/
  7. 7、官网首页版本迭代更新
  8. 8、添加示例目录结构图解 由@黄苗笋提供
  9. 9listAllApis.php支持自动化生成 由@转身.满目疮痍 提供
  10. 10、落点应用框架:freeApi服务于互联网开发者的免费接口供应平台 由@转身.满目疮痍 提供,并正在致力开发完善中,请见:http://git.oschina.net/xiaoxunzhao/freeApi
  11. 11、提供基于接口查询语言的SDK包,并有JAVA版、PHP版、C#版、Objective-c版(由@Aevit 提供)、JS版(由@喵了个咪 提供)
  12. 12PhalApi基础教程的编写 由@喵了个咪 提供,请见:http://my.oschina.net/wenzhenxi/blog/513004
  13. 13、添加了默认接口签名过滤器:PhalApi_Filter_SimpleMD5
  14. 14、加强对DI()->filter的类型检测,避免出现non-object的错误,增加容错能力
  15. 15、版本更新到v1.3.0 (1024狂欢版)

2015-09-07

  1. 1、添加扩展类库:基于FastRoute的快速路由
  2. 2、一些轻量bugfixed

2015-08-23

  1. 1、为接口参数规则扩展desc说明
  2. 2、补充了:[4.2] 开发实战2:模拟优酷开放平台接口项目开发
  3. 3、提供Auth 权限扩展 (由@黄苗笋提供,在这里表示再次感谢,^_^)
  4. 4、一些轻量bugfixed
  5. 5、版本更新到v1.2.1

2015-07-26

  1. 1、修正不能获取文件类型参数
  2. 2、修正在线接口参数查询工具中对默认值输出的展示
  3. 3、修正User扩展类库中登录态检测穿透,原因在于不该使用 isset(DI->cache) 进行判断

2015-07-11

  1. 1、计划任务Task扩展类库追加异常时的结果返回,以明确出错的原因
  2. 2、添加数据库配置注释

2015-06-27

  1. 1、自动生成SQL语句的脚本,追加对配置数据库字符集的读取,并无表时读取默认的路由配置以便可以生成SQL
  2. 2User扩展类库的Bugfixed
  3. 3docs文档更新

2015-06-06

  1. 1、接口返回参数,根据代码return注释,自动生成在线文档
  2. 2、接口参数规则中追加对文件参数的验证支持
  3. 3、将Task扩展类库转移并内置于PhalApi框架中
  4. 4、统一使用GPL协议
  5. 5、重构在线接口参数查看,使用OO的规范并提取成类放置在辅助类包中,以便接口更好地使用
  6. 6、提供统一的测试辅助类:PhalApi_Helper_TestRunner; 若需保留原来的写法,可追加: class PhalApiTestRunner extends PhalApi_Helper_TestRunner{}
  7. 7、一些bugfixed

2015-05-23

  1. 1、添加redis缓存
  2. 2、提供计划任务扩展类库及对应的文档
  3. 3、提供项目实战示例和对应的文档
  4. 4、补充更多的文档
  5. 5、自动生成SQL语句的脚本改从./Data/目录下获取对应的建表文件,原来为./Config/sql/
  6. 6、提供一个接口开发实战示例(投票活动)
  7. 7、补充数据库的portcharset配置,port默认为3306charset默认为UTF8
  8. 8、完成计划任务续篇,提供统一的crontab调度

2015-05-07

  1. 1PhalApi_Cache_Memcached更正类名为PhalApi_Cache_Memcached,注意此类名的修正所带来的影响,可以在init.php文件检测项目是否有使用MC
  2. 2、追加更低版本的Memcahce支持
  3. 3、开启1.2版本,进入多人协助开发时代

2015-05-01

  1. 1、五一小更新,提供一致性的DB操作接口
  2. 2、添加swoole扩展类库,以支持长链接和异步任务
  3. 3、版本更新到1.1.4

2015-04-24

  1. 1、修正数据库连接失败时显露帐号信息

2015-04-17

  1. 1、官网完善,添加备案信息、下载、关于、许可等页面
  2. 2、对框架添加COOKIE支持、SL快速函数、CURL重试次数、字符串正则匹配验证等
  3. 3、开源用户扩展类库
  4. 4、创建PhalApi框架交流群

2015-04-11

  1. 1、添加在线接口列表模板,及生成脚本同步更新
  2. 2、文档移至官网维护
  3. 3、官网页面开发

2015-04-04

  1. 1WIKI文档排版,与更多开篇的编写
  2. 2、源代码注释的对齐与再整理
  3. 3、生成项目脚本与创建项目的一些工作准备
  4. 4、提供单元测试Runnerphpunit.xml配置文件

2015-03-27

  1. 1、代码注释完善与在线类参考手册生成:http://www.phalapi.net/docs/

2015-03-21

  1. 1、一些bugfixed:规则下标开头大小写问题、文件缓存个数问题预防等
  2. 2、扩展类库:七牛云存储接口调用
  3. 3、文档整理和编写新的文档

2015-03-15

  1. 1、增加对RSA加密的支持,以及超长字符串的解决方案
  2. 2、文件缓存目录拆分,以支持海量的文件缓存
  3. 3、官网再上线:www.phalapi.net

2015-02-26

  1. 1、对之前的模型代码、查询类、多级缓存等补充完善单元测试
  2. 2WIKI文档补充UML图示
  3. 3Release 1.1.2 发布

2015-02-24

  1. 1、文件缓存、空缓存及多级缓存的引入
  2. 2、表数据入口的Model基类,以供NotORM系列子类使用,关键点为主键映射和分表情况
  3. 3、结合多级缓存和广义Model,对高成本的数据获取的应对方案
  4. 4WIKI文档补充

2015-02-15

  1. 1、年前的更新:三篇文档的编写,到此基础入门只差多级缓存未完成;

2015-02-13

  1. 1、代码小酌,重构代码、整理注释,让代码更明了,更统一,更达意;
  2. 2、添加工具类,其中有:IP地址获取、随机字符串生成;
  3. 3、添加扩展类库:微信开发,并编写相关使用文档;
  4. 4、添加扩展类库:phprpc协议支持及WIKI编写;

2015-02-11

  1. 1、官网发布上线:http://112.74.107.125/,域名已申请,待绑定:www.phalapi.net;

2015-02-09

  1. 1、将原来限制于JSON格式的返回调整成更灵活的组件形式,以便支持JSONJSONP和测试环境下的格式返回,和扩展项目开发所需要的格式;
  2. 2、接口基类的初始化函数PhalApi_Api::initialize()精简名字为init();
  3. 3、全部核心的代码注释中的author追加个人邮箱地址;
  4. 4、单元测试完善补充和文档整理;

2015-02-07

  1. 1、完善接口调试下SQL的输出、示例和单元测试,以及WIKI文档的编写;
  2. 2、日记接口文档的编写;
  3. 3、合并masterrelease,并将版本号更新到1.1.1

2015-02-04

  1. 1、根据质量分析后Sonar提供的报告,整理代码,包括统一的注释、对齐、代码风格、命名规则等;
  2. 2、默认服务的注册,有:DI()->requestDI()->response

2015-02-02 版本1.1.0 一个全新的开始!

  1. 此版本在原来的基础上进行了大量的重构和更多的规范统一,主要有:
  2. 1、分离框架代码和项目代码,便于以后框架升级;
  3. 2、统一全部的入口文件,以便不同的版本、终端、入口和测试环境使用,并隐藏PHP语言实现;
  4. 3、框架代码统一从原来的Core_改名为PhalApi_,并且把PhalApi_DI::one()统一为快速函数的写法:DI();
  5. 4、重新界定应用项目的代码目录结构,以包的形式快速开发;
  6. 5、全部文档相应更新;
  7. //注意!此版本不兼容旧的写法,如有问题,请与我联系。

2015-02-01

  1. 1、正常时,ret返回调整为:200,原来为0
  2. 2、异常统一简化为两大类:客户端非法请求400、服务端运行错误500
  3. 3、日记文件写入重构,并将权限更改为777,以便不同场合下日记写入时的permission denied
  4. 4、单元测试整理;

2015-01-31

  1. 1、参数规则的解析,移除不必要的固定类型,以及addslashes转换,单元测试整理;
  2. 2、参数规则文档编写:http://my.oschina.net/u/256338/blog/372947

2015-01-29

  1. 1examples代码重新整理,及入门文档同步更新;
  2. 2、入口文件的调整;

2015-01-28

  1. 1、补充入门开发示例的文档,及相关的测试代码和产品代码,主要是examples
  2. 2、提供接口参数在线查询工具;

2015-01-24

  1. 1PhalApi开源;

原文: https://www.phalapi.net/wikis/5-6.html