Php 为什么gii在创建CRUD时会将我的视图路径从ldopt更改为ld opt?

Php 为什么gii在创建CRUD时会将我的视图路径从ldopt更改为ld opt?,php,yii2,gii,Php,Yii2,Gii,出于某种原因,ldopt在yii/php中是一个保留字 实际的表称为LdOpt。因此,生成的模型也称为LdOpt 然后在生成CRUD时,我将模型类设置为app\models\LdOpt,将模型类搜索为app\models\LdOptSearch,将控制器设置为app\controllers\LdOptController,最后将视图路径留空 但gii将路径从预期的ldopt更改为预览视图中的ld opt Code File Action c

出于某种原因,ldopt在yii/php中是一个保留字

实际的表称为
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
,这会导致在yii中找不到404

是控制器约定的Yii2路径名

控制器类命名

控制器类名可以根据以下条件从控制器ID派生 以下程序:

将每个单词中由连字符分隔的第一个字母变成大写字母 案例请注意,如果控制器ID包含斜杠,则仅此规则适用 应用于ID中最后一个斜杠后的零件。 删除连字符并用后斜杠替换任何前斜杠。 附加后缀控制器。 在控制器名称空间前加前缀

以下是一些示例,假设控制器名称空间 采用默认值app\controllers:

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.

上面的信息来自

还注意到它是通过一个名为
CmdtyAct
的表来实现的-将视图路径更改为
CmdtyAct
。这与表名的驼峰大小写有关吗?