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;
就不会;
nswindlights 补充于 2014-10-29 08:43
是不是和定义的namespace有关?
最佳答案
-
Alanobiety 发布于 2014-10-31 17:52 举报
请阅读命名空间的内容
个人理解:namespace其实指明了当前文件所在的文件夹路径,当我们用use来引用相关的类的时候可以找到。
就类似于包管理机制,package
形式差不多的,用来管理类,
这两句有明显的差别,
因为两句导入了不同的类,一个是
app下的model里面的,一个是fronted下的
所以差别很大
其实你可以看看这个两个User文件的源码,你测试下就知道了
其他 3 个回答
nswindlights 江苏太仓
注册时间:2014-09-18
最后登录:2020-03-30
在线时长:74小时58分
最后登录:2020-03-30
在线时长:74小时58分
- 粉丝5
- 金钱986
- 威望80
- 积分2526