1

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

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

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

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

1 回答 1

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
)
于 2013-03-12T04:54:42.793 回答