現在のページを確認したい場合、つまりアクションは現在のコントローラーのデフォルトです。
$controller = Yii::app()->getController();
$isHome = $controller->action->id === $controller->defaultAction->id ? true : false;
dafeultaction は常に 'index' であるとは限りません。変更できるため、代わりに defaultAction と比較する必要があります。
また、ホームページでサイトのデフォルトページを意味する場合は、コントローラーもdefaultController
..と比較する必要があります。
$controller = Yii::app()->getController();
$default_controller = Yii::app()->defaultController;
$isHome = (($controller->id === $default_controller->id) && ($controller->action->id === $controller->defaultAction->id)) ? true : false;
Yii2 では:
$controller = Yii::$app->controller;
$default_controller = Yii::$app->defaultRoute;
$isHome = (($controller->id === $default_controller) && ($controller->action->id === $controller->defaultAction)) ? true : false;