我想问一下关于命名空间的事,麻烦了解的人进来看一下 [ 2.0 版本 ]
命名空间
比如yii2.0某个控制器里要调用系统自带的控制器
use yii/web/Controller
请问这个后半部分是路径吗?
但是我查了一下这个文件,它是在'XXX/yii2/web/controller'这个目录下,它自己里面写的命名空间是namespace yii/web
这个倒是和使用时是对应的,可是却不是路径啊,就算是路径应该也是yii2/web/ 但是我两边都改成yii2却是出现问题,麻烦哪位明白的朋友跟我说一下命名空间这一块,谢谢了
最佳答案
其他 4 个回答
-
- 百度关键词psr-0, psr-4
- yii2的类自己加载机制主要有两方面的内容,一个是composer的自动加载器,另一个是yii2本生的自动加载器,yii2的自动加载器优先级高。相关源码可以追踪index.php下的这两句话:
//... 以上千万行 require(__DIR__ . '/../../vendor/autoload.php'); require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php'); // ...以下千万行
- 不想追踪代码就看教程吧!深入了解yii2
共 1 条回复 -
还可以参见一下这个地址:http://www.yiichina.com/tutorial/395 里面写的很详细。
共 1 条回复 -
dashixiong 回答于 2016-03-10 10:07 举报
命名空间 跟路径应该没啥关系吧,它想怎么命名就怎么命名。
共 5 条回复@dashixiong 我也看出来了,确实不是路径,但是我说的那个问题是怎么回事儿呢?
dashixiong 回复于 2016-03-11 10:36 回复@belone use 要指定到文件
@dashixiong 指定到了的 当我把namespace yii/web 改成namespace yii2/web ,然后加载调用的时候我写use yii2/web/controller 也不行啊
belone 深圳
注册时间:2015-07-22
最后登录:2020-01-31
在线时长:5小时31分
最后登录:2020-01-31
在线时长:5小时31分
- 粉丝5
- 金钱540
- 威望0
- 积分590