CrossPHP 1.5.0 发布, 功能加强及文档完善

1.5.0 更新说明


一. 新增功能

  1. 增长Cross\Core\Delegate::on方法, 用于在框架执行流程中执行自定义函数php

    $web = Cross\Core\Delegate::loadApp('web');
    
       $web->on('dispatcher', function() use($web) {
           echo 'before dispatcher';
       });
       
       $web->on('obRender', function($content) use($web) {
           echo 'after obRender';
       });
    
       $web->run();
  2. 加强REST运行方式web

    $web = Cross\Core\Delegate::loadApp('web');        
       
       $rest = $web->rest();        
       $rest->get('/', function() {
           echo 'Hello CrossPHP!';
       });
       
       $rest->run();

    参数及正则验证app

    $web = Cross\Core\Delegate::loadApp('web');
       
       $rest = $web->rest();
       $rest->rules(array(
           'name' => "/^\w+$/",
       ));
       
       $rest->get('/hi-{:name}', function ($name) {
           echo 'Hi ' . $name;
       });
       
       $rest->run();

    和MVC结合框架

    $web = Cross\Core\Delegate::loadApp('web');
       
       $rest = $web->rest();
       $rest->get('/', function () use ($web) {
           $web->get('main:index');
       });
       
       $rest->run();
  3. 增长数据表前缀配置, 在db.config.php中使用prefix指定, 手动拼接SQL时, 须要调用 $this->getPrefix('table') 来获取完整表名, 其余使用方式不变函数

  4. 修改了app的启动方式, 加强了各app之间的独立性, 调整了继承关系, FrameBase再也不从Application继承优化

二. BUG修复

  1. 修复mRun不能正确识别请求uri的bugthis

    $web = Cross\Core\Delegate::loadApp('web');
        $web->map('/hello', 'Main:index');
        $web->mRun();
    
    `map`和`mRun()`用于限制访问, 只有在`map`中注册的uri才生效

三. 优化及功能更新

  1. 运行在CLI模式下时,再也不发送HTTP头spa

  2. Application::initController(), 更早捕获异常rest

  3. 去掉Cross\Core\Delegate::cliRun()中的一个中间变量code

  4. 调整cli模式下的异常模板

  5. 可见性及注释调整

  6. 优化自动加载时对文件是否存在的判断

  7. Router新增一个方法, 用于统一获取请求URI

  8. 简化config类, parse方法再也不支持文件

  9. rRun()方法的第一个参数, 只需实现RouterInterface接口. 取消rRun()的第二个参数

  10. 优化Response中的contentType设置

相关文章
相关标签/搜索