Нижнее подчёркивание в имене контроллера
Нижнее подчёркивание в имене контроллера
Собственно, создаю контроллер BookProcessingController (имя файла такое же + .php), и по урлу /book_processing/ выдёатся ошибка Unable to resolve the request "book_processing/index".
Не могу найти причину, подскажите, это я неправильно нижнее подчёркивание использую? Как его использовать правильно? Как для него называть имена классов? Не охота как-то иметь урлы типа /bookprocessing/, чёрточка нужна для приличия.
Не могу найти причину, подскажите, это я неправильно нижнее подчёркивание использую? Как его использовать правильно? Как для него называть имена классов? Не охота как-то иметь урлы типа /bookprocessing/, чёрточка нужна для приличия.
Re: Нижнее подчёркивание в имене контроллера
UrlManager в руки и делай урлы какими захочешь:
http://www.yiiframework.com/doc/api/1.1/CUrlManager
http://www.yiiframework.com/doc/api/1.1/CUrlManager
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Нижнее подчёркивание в имене контроллера
по урлу о урлу /book_processing/ нужно Book_processingController
Жду Yii 3!
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Нижнее подчёркивание в имене контроллера
либо настроить рутер UrlManager, как было подмечено выше
Жду Yii 3!
Re: Нижнее подчёркивание в имене контроллера
да, такой варинт сработал:mc-bear писал(а):либо настроить рутер UrlManager, как было подмечено выше
'<_c:book_processing>'=>'bookProcessing/index',
Но, насколько я понимаю, универсальное решение в роутах я прописать не смогу, на каждый контроллер для урла с подчёркиванием надо писать своё правило? Или я ошибаюсь?
Re: Нижнее подчёркивание в имене контроллера
даnxn писал(а): Но, насколько я понимаю, универсальное решение в роутах я прописать не смогу, на каждый контроллер для урла с подчёркиванием надо писать своё правило
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Нижнее подчёркивание в имене контроллера
в правилах можно использовать regexp, насколько универсальнее нужно?
Жду Yii 3!
Re: Нижнее подчёркивание в имене контроллера
и вообще, если нужно с подчеркиванием, то самый простой способ - называть контроллер сразу с подчеркиванием
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Нижнее подчёркивание в имене контроллера
и учти что по урлу /bookprocessing/ контроллер BookProcessingController.php НЕ откроется. Точнее он откроется на виндоус-сервере, на самом деле при таком запросе ищется файл BookprocessingController.php
Жду Yii 3!
Re: Нижнее подчёркивание в имене контроллера
Не стоит использовать имена Book_ProcessingController - в фреймворке есть принятые правила наименования классов, смысла их изменять не вижу никакого, только вред один.
Настроить UrlManager будет гораздо более правильным решением - или просто изменить его поведение полиморфизмом.
Настроить UrlManager будет гораздо более правильным решением - или просто изменить его поведение полиморфизмом.
Re: Нижнее подчёркивание в имене контроллера
по моему, если не нужно сильно видоизменять урлы, то проще сразу сделать с подчеркиванием, чем обрабатывать кучу регулярок при каждом запросе. Хотя каждому свое.