1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

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

本帖由 漂亮的石头2015-11-28 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,345
    赞:
    47
    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。

      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);
      };

    2. 完善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');

    3. 扩展你的参数类型,定制请求参数验证,邮件例子如下:

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

      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/

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

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

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

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

    PhalApi开源,依然在路上!
    PhalApi-v1.3.1 (感恩版)发布,PHP 轻量级开源接口框架下载地址
     
正在加载...