设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

PhalApi-v1.3.1 (感恩版)发布,PHP轻量级开源接口框架

2015-11-29 18:12| 发布者: joejoe0332| 查看: 841| 评论: 0|原作者: oschina|来自: oschina

摘要: PhalApi-v1.3.1 (感恩版)发布,PHP轻量级开源接口框架感恩节来临之际,PhalApi迎来了等候了一个多月的v1.3.1版本更新.在v1.3.1版本中着重对1.3.0版本中存在BUG进行了修复,并且进一步完善了各项功能,就让小编与大家一 ...

PhalApi-v1.3.1 (感恩版)发布,PHP轻量级开源接口框架

[前言]

感恩节来临之际,PhalApi迎来了等候了一个多月的v1.3.1版本更新.

在v1.3.1版本中着重对1.3.0版本中存在BUG进行了修复,并且进一步完善了各项功能,就让小编与大家一同怀着一颗对开源感恩的心,来分享此次更新的具体内容:

基于老版本开发的应用可以无缝升级到v1.3.1版本,直接覆盖核心文件PhalApi即可使用新版功能(涉及到有个人修改部分需要自行调整)

[重要更新]

  1. 重构PhalApi_DB _NotORM,以便支持定制MySQL外的数据库操作

    目前,NotORM支持: MySQL, SQLite, PostgreSQL, MS SQL, Oracle (Dibi support is obsolete)。

    定制自己的数据库连接的PDO。

    1
    2
    3
    4
    5
    6
    7
    8
    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即可

    1
    2
    3
    4
    DI()->notorm = function() {
        $debug = !empty($_GET['__sql__']) ? true : false;
        return new Common_MyDB(DI()->config->get('dbs'), $debug);
    };
  2. 完善NotORM对数据库维度的事务操作支持 感谢@研究研究 反馈

    1
    2
    3
    4
    5
    6
    7
    8
    9
    //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');
  3. 扩展你的参数类型,定制请求参数验证,邮件例子如下:

    我们需要一个实现了邮件类型验证的功能类:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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;
        }
    }

    然后,注册一下:

    1
    DI()->_formatterEmail = 'Common_MyFormatter_Email';

    这样就可以使用自定参数验证格式

    1
    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/ 

PhalApi免费下载http://git.oschina.net/dogstar/PhalApi 

在本次版本更新中,需要特别感谢以下同学的努力与贡献(顺序不分先后):

@转身.满目疮痍、@喵了个咪、@scott、@研究研究、@dogstar

再次感谢,开源的路上,@开源中国和大家一直以来对PhalApi的关注和肯定,谢谢!

PhalApi开源,依然在路上!


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部