我正在创建一个需要记录当前控制器名称的行为。如何在CakePHP中从模型中获取当前控制器名称?
oalqel3c1#
我知道这个问题已经很老了,但正确的答案应该是:$this->params['controller']有关“params”属性的详细信息:http://book.cakephp.org/view/963/The-Parameters-Attribute-params
$this->params['controller']
balp4ylt2#
如果你只需要控制器的名称,试试这个。
Inflector::pluralize($this->name);
mftmpeh83#
$GLOBALS['Dispatcher']->params['controller']
我将为您提供控制器名称
ar7v8xwq4#
我找到了一个解决方案,它不漂亮,但为我工作。我只是使用$_REQUEST ['url']和捕获de控制器名称的url。这个解决方案的缺点是,如果你有一个不同的默认路由,这个解决方案将无法工作...有人有更好的方法吗?
cmssoen25#
对于任何使用CakePHP 3.x再次访问此问题的人:
$this->request->getParam('controller')
mpgws1up6#
PHP的一个魔术常数是__CLASS__,它将返回它所在对象的类名。这可能会得到你所需要的。http://php.net/manual/en/language.constants.predefined.php魔术常数和方法很有趣。
__CLASS__
6条答案
按热度按时间oalqel3c1#
我知道这个问题已经很老了,但正确的答案应该是:
$this->params['controller']
有关“params”属性的详细信息:
http://book.cakephp.org/view/963/The-Parameters-Attribute-params
balp4ylt2#
如果你只需要控制器的名称,试试这个。
mftmpeh83#
我将为您提供控制器名称
ar7v8xwq4#
我找到了一个解决方案,它不漂亮,但为我工作。我只是使用$_REQUEST ['url']和捕获de控制器名称的url。这个解决方案的缺点是,如果你有一个不同的默认路由,这个解决方案将无法工作...有人有更好的方法吗?
cmssoen25#
对于任何使用CakePHP 3.x再次访问此问题的人:
mpgws1up6#
PHP的一个魔术常数是
__CLASS__
,它将返回它所在对象的类名。这可能会得到你所需要的。http://php.net/manual/en/language.constants.predefined.php
魔术常数和方法很有趣。