CakePHP似乎具有转换请求的URL并确定要执行的控制器和操作的功能,因此必须对每个http请求执行此操作。
有没有办法在控制器或系统的其他地方使用这个过程?最好的结果是有一个函数,我输入一个URL字符串,响应是一个包含控制器详细信息的数组。例如:
$url_route = RouteFunction('/page/url/here');
// $url_route = array(
// 'controller' => 'page',
// 'action' => 'display',
// 'pass' => array('url', 'here')
// );
答案 0 :(得分:4)
为此,您可以使用Router::parse()
。
例如:
$route = Router::parse('/users/view/21');
debug($route);
默认输出:
array(
'controller' => 'users',
'action' => 'view',
'named' => array(),
'pass' => array(
(int) 0 => '21'
),
'plugin' => null
)