路由事件

触发条件

在解析URL之前, 触发router事件

使用方法

编入入口文件中的代码如下

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

$web->on('router', function($q, \Cross\Core\Router $router) {

    print_r($q);

});


$web->run();

router事件被触发时, 框架会传递两个参数至匿名函数

  • 第一个参数是根据url和app配置中的dot分隔而成的数组(没有处理别名)

  • 第二个参数是Router类本身, 在匿名函数内部可以通过调用Router类本身提供的方法, 来动态改变路由的值

Router提供的方法

  • setController()
    设置控制器名称

  • setAction()
    设置方法名称

  • setParams()
    设置参数

  • getUriRequest()
    获取请求字符串

  • getDefaultRouter()
    获取默认控制和方法

  • useDefaulterRouter()
    使用默认的控制器和方法