Is there a buildin method or property in Yii to check if page is homepage?
I know i can use something like this:
$controller = Yii::app()->getController();
$isHome = $controller->getAction()->getId() === 'index' ? true : false;
Or put it in a method in main controller, but i am looking for something cleaner.
Thanks.
Advantages of using YiiIt's ideal for rapid development as it has code generators for CRUD operations. Just like Laravel, Yii utilises the DRY coding rule, which is very helpful for writing a well-structured and sophisticated codebase. Yii has many built-in widgets to validate or output data quickly with Ajax support.
Yii is a high-performance, component-based PHP framework for developing large-scale Web applications rapidly. It enables maximum reusability in Web programming and can significantly accelerate your Web application development process.
Yii is a fast, secure, and efficient PHP framework. Flexible yet pragmatic. Works right out of the box.
If You want to check the current page, ie action is the default of the current controller..
$controller = Yii::app()->getController();
$isHome = $controller->action->id === $controller->defaultAction->id ? true : false;
dafeultaction may not always be 'index', it can be changed, so you need to compare it with defaultAction instead..
And by homepage if you mean the defult page of site, then you need to compare your controller also with defaultController
..
$controller = Yii::app()->getController();
$default_controller = Yii::app()->defaultController;
$isHome = (($controller->id === $default_controller->id) && ($controller->action->id === $controller->defaultAction->id)) ? true : false;
In Yii2:
$controller = Yii::$app->controller;
$default_controller = Yii::$app->defaultRoute;
$isHome = (($controller->id === $default_controller) && ($controller->action->id === $controller->defaultAction)) ? true : false;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With