是否可以在 CakePHP 中应用全局路由?
例如:
Router::connect('/:controller/:action/:token',
array('controller'=>'App'),
array(
'pass' => array('token')
)
);
这个想法是,如果一个名为 token 的 NAMED 参数被传递到任何由 App Controller 处理的 URL(应该是一切),它将像这样处理它:
/users/login/123abc
其中 123abc 是令牌。
以及我如何通过为我的 Notes 控制器分页来完成此操作的示例:
Router::connect('/notes',
array('controller'=>'notes','action'=>'index', 'page' => 1),
array(
'pass' => array('page')
)
);
Router::connect('/notes/page/:page',
array('controller' => 'notes', 'action' => 'index'),
array(
'pass' => array('page'),
'page' => '[1-9]+'
)
);
这使得 URL 像:
/notes/page:1
变得/notes/page/1
问题是我必须为每个动作和控制器执行此操作,并希望将其设为全局,以便适用于所有控制器和动作。因此,我将应用控制器作为路由参数进行了实验。