Вопрос по controllerMap

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
trial
Сообщения: 3
Зарегистрирован: 2015.01.22, 14:03

Вопрос по controllerMap

Сообщение trial » 2015.01.22, 14:16

Здравствуйте, сейчас читаю доку и параллельно пытаюсь проверять прочитанное.
Не совсем понял поведение controllerMap.
Добавляю в конфигурацию такой блок:

Код: Выделить всё

'controllerMap' => [
            'test' =>[
                'class' =>'frontend\controllers\SiteController'
            ],
    ],
И рассчитываю, что по адресу /index.php?r=test вызовется controllers/SiteController, затем actionIndex и отрендерится вьюшка, которая указана в actionIndex, т.е. views/site/index.php.

На деле же получаю следующее исключение:
The view file does not exist: /var/www/user1/data/www/mydomain.in/yii-application/frontend/views/test/index.php

Т.е. получается, что он пытается отрендерить views/test/index.php, которой физически нет. Это верное поведение controllerMap ?

dmeroff
Сообщения: 101
Зарегистрирован: 2012.06.05, 14:32
Откуда: Петрозаводск
Контактная информация:

Re: Вопрос по controllerMap

Сообщение dmeroff » 2015.01.22, 15:57

Верное. Вы задали id контроллера равным test, соответственно искаться представления будут в папке с этим id.

Аватара пользователя
trial
Сообщения: 3
Зарегистрирован: 2015.01.22, 14:03

Re: Вопрос по controllerMap

Сообщение trial » 2015.01.22, 16:12

То есть если я хочу, чтобы данный маршрут заработал мне нужно папочку вида views/site переименовать во /views/test?
И это правильный подход?

Какие вообще полезные кейсы использования controllerMap могут существовать, в каких случаях эта опция может пригодиться?

ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Вопрос по controllerMap

Сообщение ZeiN » 2015.01.22, 16:27

trial писал(а):Какие вообще полезные кейсы использования controllerMap могут существовать, в каких случаях эта опция может пригодиться?
Реюзабельный контроллер для бекенда/фронтенда, который лежит в common. Расширения. Переназначение стандартных консольных контроллеров и тд.

Аватара пользователя
trial
Сообщения: 3
Зарегистрирован: 2015.01.22, 14:03

Re: Вопрос по controllerMap

Сообщение trial » 2015.01.22, 16:31

спасибо

Ответить