在使用model生成器的时候不用加命名空间,写好表名就可以直接生成了。但是在用CRUD的时候填写完controllers和model class之后点击生成会弹出错误提示:
Class 'TelBook' does not exist or has syntax error.
The class name must contain fully qualified namespace name.
这是因为没有把要生成的model和controller路径填写完整造成的,比如我用的是basic的框架,Model Class我需要填写 app\models\TelBook
,controllers我需要填写成 app\controllers\TelBookController
, 如果用的是advanced版的框架,那么需要写fronted或者backend。
另外需要注意的是yii2.0 controller的命名规范,如果我们的controllers是多个单词在一块驼峰命名,访问的时候弹出:
Not Found (#404)
Page not found.
那是因为我们访问的方式不对,这一点和yii1.0一定要区别开,在yii2.0框架开发文档中写的解决方法是:
如果模块名、控制器名或动作名包含驼峰式单词,内部路径将使用破折号。如DateTimeController::actionFastForward 的路径将是 date-time/fast-forward
也就是说我们如果控制器命名如果是 DateTimeController.php 我们访问的连接应该写成
http://ip:port/index.php?r=date-time的形式,不能写成dateTime或者其他形式!切记切记