Php 为什么gii在创建CRUD时会将我的视图路径从ldopt更改为ld opt?
出于某种原因,ldopt在yii/php中是一个保留字 实际的表称为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
。因此,生成的模型也称为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
。这与表名的驼峰大小写有关吗?