如何从CakePHP中的URL字符串获取连接路由?

时间:2013-03-12 04:01:11

标签: cakephp routing slug

CakePHP似乎具有转换请求的URL并确定要执行的控制器和操作的功能,因此必须对每个http请求执行此操作。

有没有办法在控制器或系统的其他地方使用这个过程?最好的结果是有一个函数,我输入一个URL字符串,响应是一个包含控制器详细信息的数组。例如:

$url_route = RouteFunction('/page/url/here');

// $url_route = array(
//    'controller' => 'page', 
//    'action' => 'display', 
//    'pass' => array('url', 'here')
// );

1 个答案:

答案 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
)