Cakephp 2 从 $this->referer() 获取控制器和动作

Cakephp 2 get controller and action from $this->referer()

我正在使用 CakePhp 2.5,如何使用 $this->referer() 获取控制器和动作,而不必使用 php 爆炸函数。

(int) 0 => 'http:',
(int) 1 => '',
(int) 2 => 'localhost',
(int) 3 => 'mysite',
(int) 6 => 'books',
(int) 7 => 'list'

我的目标是在生产和本地开发中使用相同的代码。

如果我使用 explode,本地索引可能与生产索引不同。

您可以使用CakeRoute::parse($url)方法将字符串反转为数组。

https://book.cakephp.org/2.0/en/development/routing.html#CakeRoute::parse

$url = CakeRoute::parse($this->referer());