YII2 defaultRoute - Как изменить контроллер по умолчанию в шаблоне
Коллеги всем привет.
В сегодняшней статье я вам расскажу о том как можно очень быстро и легко поменять контроллер по умолчанию в Yii2.
По умолчанию в Yii2 контроллером является файл SiteController.php. Мы в этом можем убедиться посмотревши в debug tool.
Как видим на скриншоте значения Route является site/index, это значит что контроллер по умолчанию установлен site и действия по умолчанию установлено в index.
Чтобы нам поменять контроллер по умолчанию в Yii2 с site на какой-нибудь другой нам нужно установить параметр, который называется defaultRoute в конфигурационном файле вашего сайта web.php. В этом примере я сделаю так, чтобы контроллер по умолчанию был у меня под названием main.
Первое, что нам нужно сделать это создать новый файл в директории controllers под названием MainController.php с содержимым:
namespace app\controllers;
use yii\web\Controller;
class MainController extends Controller
{
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
];
}
public function actionIndex()
{
return $this->render('index');
}
}
Следующим шагом нам нужно установить параметр defaultRoute в конфигурационном файле web.php
'defaultRoute' => 'main',
В параметре defaultRoute мы явно указываем что мы хотим чтобы у нас был контроллер по умолчанию под названием main, а за main у нас будет отвечать файл MainController.php
Теперь когда мы перезагрузим страницу нашего сайта то мы увидим в debug tool что параметр Route поменялся со значения site на main.
Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.