谁一开始就是大神?

yii2调用model[2.0]

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吧

赞(0) 打赏
未经允许不得转载:菜鸟之家 » yii2调用model[2.0]

评论 抢沙发

登录

找回密码

注册