Getting Current Controller ID in Yii
Solution 1
<?php echo $this->getUniqueId();?>
this will show current controller
Solution 2
Like this
Yii::app()->controller->id
or
Yii::app()->getController()->getId()
http://www.yiiframework.com/doc/api/1.1/CApplication#getController-detail
Solution 3
Controller Id :
$this->id
Here $this refers to controller.
And For getting action id :
$this->action->id
Solution 4
You're not actually required to use the static function. Whenever in a view( or template) you can use echo $this->getUniqueId();
to get the unique controller ID.
Solution 5
Yii2:
Yii::$app->controller->id
(Documentation: Application and Controller)
Netorica
We provide affordable, fast, secure & reliable web hosting for Wordpress & PHP websites using top cloud providers with free migration, SSL, backups & security.
Updated on September 27, 2020Comments
-
Netorica over 3 years
I want to get the current controller name that handles the current action. but the in my case I will look for the current controller in my main.php in my layout files.
this is my small view of my directory structure to give you an idea where is my layout files and the file where i will put my codes in searching of my controller name
- /protected
- /themes
- /mylayout
- /layouts
- main.php
- column1.php
- column2.php
- /site
- index.php
- /layouts
- /mylayout
Is this possible? im trying the following codes but i failed to get my current controller name...
echo Yii::app()->controller->getId; echo Yii:app()->getController->id; echo Yii:app()->controller->uniqueID;
thanks
-
Netorica about 12 yearsthanks for help but. I will look for the current controller in my main.php in my layout files... is that possible?
-
hpaknia about 11 yearsI prefer your answer, because your answer works any where, views, widgets, extensions, etc. E.G. in case of calling CGridView, $this refers to it's widgets and $this->id results in widget name and not controller name.