PHP 中命名空间 use 关键字的疑惑
本文介绍了PHP 中命名空间 use 关键字的疑惑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在 PHP 5.3之后加入了use来引用命名空间,
然后就出现了比如:
use Tool\tool;
new tool();
这样简化的操作。
然而,我知道不使用use,命名空间的三种被调用方式:
1、非限定方式 new tool()
2、限定方式 new Tool\tool()
3、完全限定方式 new \Tool\tool()
现在我理解了不需要use引入命名空间的操作方式,即上面3中方式。那么问题就是:
use Tool\tool;
与
use \Tool\tool;
区别在哪里?资料也是查找不到的。求助
============================ 问题已解决,答案如下 ======================================
前导的反斜杠是不必要的也不推荐的,因为导入的名称必须是完全限定的,不会根据当前的命名空间作相对解析。
解决方案
如图:
附上地址:http://php.net/manual/zh/lang...
附上文本:
注意对命名空间中的名称(包含命名空间分隔符的完全限定名称如 FooBar以及相对的不包含命名空间分隔符的全局名称如 FooBar)来说,前导的反斜杠是不必要的也不推荐的,因为导入的名称必须是完全限定的,不会根据当前的命名空间作相对解析。
所以,没有区别,而且不建议写根'\'。
这篇关于PHP 中命名空间 use 关键字的疑惑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文