2016-03-24 4 views
1

Является ldopt зарезервированным словом в yii/php по какой-то причине.Почему gii при создании CRUD меняет свой путь просмотра от ldopt до ld-opt?

Фактический стол называется LdOpt. Таким образом, модель создается также называется LdOpt

Тогда при создании CRUD я поставил модель класс app\models\LdOpt и поиск класса модели для app\models\LdOptSearch и контроллера app\controllers\LdOptController, наконец, оставив Просмотр Путь пустой

Но GII изменяет путь от ожидаемого ldopt к ld-opt как в целях предварительного

Code   File     Action 
controllers /LdOptController.php create 
models  /LdOptSearch.php  create 
views   /ld-opt/_form.php  create 
views   /ld-opt/_search.php create 
views   /ld-opt/create.php create 
views   /ld-opt/index.php  create 
views   /ld-opt/update.php create 
views   /ld-opt/view.php  create 

Просто интересно, почему он сделал это, потому что никогда не обращали внимание на имя файла и просто генерироваться их и впустую некоторое время с маршрута ?r=ldopt/index и т. Д., Прежде чем я посмотрел файлы на диске.

Также в качестве эксперимента я попробовал переместить каталог обратно ldopt и это приводит к 404 не найден в YII

+0

Кроме того, только заметил, что сделал это с таблицей называемый 'CmdtyAct' - изменение пути просмотра к' cmdty-act'. Связано ли это с верблюжьим случаем имен таблиц? – Adrian

ответ

3

ли путь Yii2 для контроллера конвенции ..

контроллер класса Naming

Названия классов контроллеров могут быть получены из идентификаторов контроллера в соответствии с следующей процедурой:

Включить fi первая буква в каждом слове, разделенная дефисом на верхний . Обратите внимание, что если идентификатор контроллера содержит косые черты, это правило только применяется к части после последней косой черты в ID. Снимите дефисы и замените любые косые черты обратной косой чертой. Добавить суффикс-контроллер. Подготовить пространство имен контроллера.

Ниже приведены некоторые примеры, предполагая, что пространство имен контроллер принимает по умолчанию значение приложения \ Контроллеры:

article becomes app\controllers\ArticleController; 
post-comment becomes app\controllers\PostCommentController; 
admin/post-comment becomes app\controllers\admin\PostCommentController; 
adminPanels/post-comment becomes app\controllers\adminPanels\PostCommentController. 

инфо выше от http://www.yiiframework.com/doc-2.0/guide-structure-controllers.html#controller-class-naming