Skip to main content

YII, How to get current controller name and action name

To get current controller name use this code :



<?php
$controllerId = Yii::app()->controller->id;
//or
$controllerId = $this->getId();

?>


To get current action name/id being executed, if you are inside beforeAction() or afterAction(), use the received CAction argument


<?php
//inside beforeAction or afterAction
public function beforeAction($action)
{
 $actionId = $action->id;
...
?>



or just elsewhere inside your controller


<?php
$actionId = $this->getAction()->getId();
?>


To get name of currently called controller action anywhere in the code you can use :




<?php

print CController::getAction()->id;


?>




Popular posts from this blog

Yii, return to previous url after login or logout

If you want to return to your previous url after login or logout try this : <?php $this -> redirect (Yii :: app () -> request -> urlReferrer ); ?> To set the return url to be the url that was before the login page or registeration page was called you can put following code in views/layouts/main.php file : <?php //this checks id the controller action is not 'login' then it keeps the current url in returnUrl if (CController :: getAction () -> id != 'login' ) { Yii :: app () -> user -> setReturnUrl (Yii :: app () -> request -> getUrl ()); } ?>

yii, Executing a SQL without calling a Model

yii, Executing a SQL without calling a Model <? $connection = Yii :: app () -> db ; $sql = "SELECT id,username FROM users" ; $command = $connection -> createCommand ( $sql ); $dataReader = $command -> query (); $rows = $dataReader -> readAll (); print_r ( $rows ); ?>