任何人都可以建议我如何在cakephp组件函数中获取控制器名称?
答案 0 :(得分:1)
试试这个
Router::getRequest(true)->param('controller');
答案 1 :(得分:1)
尝试:
$ctrObj = $this->_Collection->getController();
$ctrName = get_class($ctrObj);
die('<h1>Class name: ' . $ctrName . '</h1>');
// Result: "Class name: FooController"
$ctrName = $ctrObj->name;
die('<h1>Simple Name: ' . $ctrName . '</h1>');
// Result: "Simple Name: Foo"
祝你好运
答案 2 :(得分:0)
我对CakePHP并不熟悉,可能还有内置的方法。但是如果您运行PHP 5.5+,下面的代码可能会给你灵感
class Foo {
public function name_of_this_controller() {
return static::class;
}
}
$f = new Foo();
echo $f->name_of_this_controller() #=> "Foo"
对于旧版本的php,
get_class($f)
会奏效。
因此,内部组件(I am referring here)将static::class
分配给变量将会起作用,我相信。
答案 3 :(得分:0)
$this->request->params['controller']
答案 4 :(得分:0)
使用$this->params['controller'] to get the current controller.
您可以debug($this->params)
查看其他可用变量。