codecamp

更新日志

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

分支说明

  • release 发布分支,稳定的版本,可直接用于团队的项目开发
  • master 主线分支,随时待发布的版本,测试验收后会合并到release进行发布
  • master-X.X.X 主线的历史分支,以保留或查看历史版本
  • dev 开发分支,当前用于协同开发的分支,以存放共享未完成的代码

更新日志

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开源;

联系和加入我们
致框架贡献者:加入PhalApi开源指南
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

八、视频教程

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }