发布于 2015-11-28 13:53:45 | 267 次阅读 | 评论: 0 | 来源: 网友投递
PhalApi 轻量级PHP后台接口开发框架
PhalApi是一个PHP轻量级后台接口开发框架。我们致力于将PhalApi维护成像恒星一样不断更新,保持生气;为接口负责,为开源负责!让后台接口开发更简单!
PhalApi-v1.3.1 (感恩版)发布,PHP轻量级开源接口框架
感恩节来临之际,PhalApi迎来了等候了一个多月的v1.3.1版本更新.
在v1.3.1版本中着重对1.3.0版本中存在BUG进行了修复,并且进一步完善了各项功能,就让小编与大家一同怀着一颗对开源感恩的心,来分享此次更新的具体内容:
基于老版本开发的应用可以无缝升级到v1.3.1版本,直接覆盖核心文件PhalApi即可使用新版功能(涉及到有个人修改部分需要自行调整)
重构PhalApi_DB _NotORM,以便支持定制MySQL外的数据库操作
目前,NotORM支持: MySQL, SQLite, PostgreSQL, MS SQL, Oracle (Dibi support is obsolete)。
定制自己的数据库连接的PDO。
class Common_MyDB extends PhalApi_DB_NotORM { protected function createPDOBy($dbCfg) { /* Connect to an ODBC database using driver invocation */ $dsn = 'uri:file:///usr/local/dbconnect'; return new PDO($dsn, $dbCfg['user'], $dbCfg['password']); } }
随后,在初始化文件init.php中重新注册DI()->notorm即可
DI()->notorm = function() { $debug = !empty($_GET['__sql__']) ? true : false; return new Common_MyDB(DI()->config->get('dbs'), $debug); };
完善NotORM对数据库维度的事务操作支持 感谢@研究研究 反馈
//Step 1: 开启事务 $this->notorm->beginTransaction('db_demo'); //Step 2: 数据库操作 $this->notorm->user>insert(array('name' => 'test1')); $this->notorm->user>insert(array('name' => 'test2')); //Step 3: 提交事务 $this->notorm->commit('db_demo');
扩展你的参数类型,定制请求参数验证,邮件例子如下:
我们需要一个实现了邮件类型验证的功能类:
class Common_MyFormatter_Email implements PhalApi_Request_Formatter { public function parse($value, $rule) { if (!preg_match('/^(w)+(.w+)*@(w)+((.w+)+)$/', $value)) { throw new PhalApi_Exception_BadRequest('邮箱地址格式错误'); } return $value; } }
然后,注册一下:
DI()->_formatterEmail = 'Common_MyFormatter_Email';
这样就可以使用自定参数验证格式
array('name' => 'user_email', 'type' => 'email')
1、添加Ruby版SDK包
2、完善listAllApis.php,可按注释进行字典排列,支持多级目录扫描
3、添加支持Yaconf扩展读取配置
4、添加了Medoo扩展类库,由 @转身.满目疮痍 提供
5、添加了DB_Cluster扩展类库,由 @喵了个咪 提供
6、提供了Redis扩展类型,由 喵了个咪 提供
7、重构并设计格式化类:PhalApi_ Request_Var,使之支持项目扩展定制化;并添加callable回调类型、为数组和日期补充最值检测
8、DI()->notorm::queryAll()与DI()->notorm::queryRows()第二个参数$parmas改成缺省默认为array()
9、修复一些轻量bugfixed 感谢@scott 反馈
1、PhalApi进阶教程的编写,为喜欢PhalApi的童鞋解读PhalApi,进一步了解PhalApi使用他解决实际问题,请见:http://my.oschina.net/wenzhenxi/blog/534828
相关链接:
PhalApi在线文档:http://www.phalapi.net/wikis/
在本次版本更新中,需要特别感谢以下同学的努力与贡献(顺序不分先后):
@转身.满目疮痍、@喵了个咪、@scott、@研究研究、@dogstar
再次感谢,开源的路上,@开源中国和大家一直以来对PhalApi的关注和肯定,谢谢!
PhalApi开源,依然在路上!