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

rseugnpd  于 2022-11-12  发布在  PHP
关注(0)|答案(6)|浏览(176)

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

oalqel3c

oalqel3c1#

我知道这个问题已经很老了,但正确的答案应该是:
$this->params['controller']
有关“params”属性的详细信息:
http://book.cakephp.org/view/963/The-Parameters-Attribute-params

balp4ylt

balp4ylt2#

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

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

mftmpeh83#

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

我将为您提供控制器名称

ar7v8xwq

ar7v8xwq4#

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

cmssoen2

cmssoen25#

对于任何使用CakePHP 3.x再次访问此问题的人:

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

mpgws1up6#

PHP的一个魔术常数是__CLASS__,它将返回它所在对象的类名。这可能会得到你所需要的。
http://php.net/manual/en/language.constants.predefined.php
魔术常数和方法很有趣。

相关问题