获取Yii中的当前控制器ID

Mp *_*ega 10 php templates yii yii-components

我想获取处理当前操作的当前控制器名称.但在我的情况下,我将在我的布局文件中的main.php中查找当前的控制器.

这是我的目录结构的小视图,让您了解我的布局文件在哪里以及我将代码放入搜索控制器名称的文件

  • /保护
  • /主题
    • / mylayout
      • /布局
        • main.php
        • column1.php
        • column2.php
      • /现场
        • 的index.php

这可能吗?我尝试以下代码,但我没有得到我当前的控制器名称...

echo Yii::app()->controller->getId;
echo Yii:app()->getController->id;
echo Yii:app()->controller->uniqueID;
Run Code Online (Sandbox Code Playgroud)

谢谢

sch*_*unk 26

像这样

Yii::app()->controller->id
Run Code Online (Sandbox Code Playgroud)

要么

Yii::app()->getController()->getId()
Run Code Online (Sandbox Code Playgroud)

http://www.yiiframework.com/doc/api/1.1/CApplication#getController-detail

  • 我更喜欢你的答案,因为你的答案适用于任何地方,视图,小部件,扩展等.在调用CGridView的情况下,$ this指的是它的小部件和$ this-> id导致小部件名称而不是控制器名称. (2认同)

Onk*_*nwa 13

控制器ID:

$this->id
Run Code Online (Sandbox Code Playgroud)

这里$ this指的是控制器.

并获得动作ID:

$this->action->id
Run Code Online (Sandbox Code Playgroud)


22f*_*cis 7

<?php echo $this->getUniqueId();?>

这将显示当前的控制器