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

Posted

技术标签:

【中文标题】如何从 CakePHP 中的 URL 字符串获取连接的路由?【英文标题】:How can I get the connected route from a URL string in CakePHP? 【发布时间】:2013-02-27 11:38:05 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

为此,您可以使用Router::parse()

例如:

$route = Router::parse('/users/view/21');
debug($route);

默认输出:

array(
    'controller' => 'users',
    'action' => 'view',
    'named' => array(),
    'pass' => array(
            (int) 0 => '21'
    ),
    'plugin' => null
)

【讨论】:

完美,这就是我所追求的,我只是找不到功能。谢谢。

以上是关于如何从 CakePHP 中的 URL 字符串获取连接的路由?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Cakephp 中图像的完整 URL?

CakePHP 获取动作名称

如何从 CakePHP 3 中的查询对象获取参数

PHP 获取cakephp中的当前URL

CakePHP 从 URL 中删除索引操作

如何从 Cakephp4 中的 Helper 获取 $this->request->getAttribute('csrfToken')?