CakePHP:在模型中获取当前控制器名称

时间:2010-12-15 14:46:01

标签: php cakephp cakephp-1.3

我正在创建一个需要记录当前控制器名称的行为。如何从CakePHP中的模型中获取当前控制器名称?

6 个答案:

答案 0 :(得分:5)

我知道这个问题很老了,但这里适当的解决方案是:

$this->params['controller']

有关'params'属性的更多信息:
http://book.cakephp.org/view/963/The-Parameters-Attribute-params

答案 1 :(得分:3)

试试这个。如果你只需要控制器的名称。

Inflector::pluralize($this->name);

答案 2 :(得分:2)

$GLOBALS['Dispatcher']->params['controller']

将为您提供控制器名称

答案 3 :(得分:0)

PHP的Magic Constants之一是__CLASS__,它将返回它所在对象的类名。这可以为您提供所需的一切。

http://php.net/manual/en/language.constants.predefined.php

魔术常数和方法很有趣。

答案 4 :(得分:0)

我找到了一个解决方案,它并不漂亮,但对我有用。我只是使用$ _REQUEST ['url']并通过url捕获de控制器名称。这个解决方案的缺点是,如果你有一个不同的默认路由,这个解决方案将无法工作......任何人都有更好的方法吗?

答案 5 :(得分:0)

对于任何重新访问此问题并使用 CakePHP 3.x 的人:

$this->request->getParam('controller')