use frontend\models\user;
和 use app\models\user;
有区别吗?
为什么在xxxController
中用use frontend\models\user
,
调用model时:$model = User::findOne(Yii::$app->user->id);
就报错:
Unknown Class – yii\base\UnknownClassException
Unable to find 'frontend\models\User' in file: C:\wampsever\www\YIIadvanced/frontend/models/User.php. Namespace missing?
而use app\models\user;
就不会;
请阅读命名空间的内容
个人理解:namespace其实指明了当前文件所在的文件夹路径,当我们用use来引用相关的类的时候可以找到。
就类似于包管理机制,package
形式差不多的,用来管理类,
这两句有明显的差别,
因为两句导入了不同的类,一个是
app下的model里面的,一个是fronted下的
所以差别很大
其实你可以看看这个两个User文件的源码,你测试下就知道了
是不是user 大小写问题
这得看你定义的 namespace
了
像基本的模板里面用的 namespace
都是 app\models\User
而那个高级模板里面的是 frontend\models\User
应该是你配置的nginx的路径不是指向frontend吧