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

新闻 CrossPHP 1.5.2 发布,轻量级 PHP 开发框架 下载

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

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,332
    赞:
    47
    CrossPHP 1.5.2 发布了!

    1.5.2 更新说明

    一. Rest和mRun优化


    增加一个匿名函数mismatching

    $web = Cross\Core\Delegate::loadApp('web');

    $rest = $web->rest();
    $rest->get('/hi', function(){
    echo 'Hi cross php!';
    });

    $rest->on('mismatching', function(){
    echo 'mismatching';
    });

    try {
    $rest->run();
    } catch (Exception $e) {
    $web->get('error', array('exception' => $e));
    }

    uri不匹配时执行mismatching匿名函数, 调用$web->run()再次匹配url,mismatching在rest和mRun模式下生效

    二. 参数优化


    1. 增加匿名函数setParams用于为$this->params赋值时验证参数的值

      $web = Cross\Core\Delegate::loadApp('web');

      $web->on('setParams', function( &$v, $k ) {
      if ($k == 'p') {
      if(! ctype_digit($v) ) {
      //to some thing...
      }
      }
      });

      try {
      $web->run();
      } catch (Exception $e) {
      $web->get('error', array('exception' => $e));
      }

      第一个参数为$this->params中参数的值, 第二个参数为$this->params的键


    2. 优化参数, 除了url为2以外, 默认合并$_GET中的值到$this->params

      /**
      * @cp_params p, order=1
      */
      function foo()
      {
      print_r($this->params);
      }

      当@cp_params生效时, 解析参数的过程实际上是为@cp_params赋值的过程. 当参数不足或为空时, 返回默认值:

      array('p'=>'', 'order'=>1)

      当参数多余时则丢弃.
    三. 结构优化


    1. Request和Response放到Cross\Http的命名空间


    2. 增加Cache\Driver和Cache\Request命名空间, 分别存放缓存驱动和处理请求缓存的类
    四. 其他优化


    1. 增强类型约束


    2. 优化rest的uri匹配算法


    3. ClosureContainer增加isRegister方法, 用于检查匿名函数是否已经注册


    4. 完善Redis缓存类


    5. app配置文件中新增加encrypt项, 用于配置uri和auth加解密key


    6. 统一从Delegate::getResponse()中获取Response的实例
    CrossPHP 1.5.2 发布,轻量级 PHP 开发框架下载地址
     
正在加载...