我只是想知道是否有一种方法可以使用“use”关键字使类的行为就像在全局命名空间中一样,因此该类只能从类的外部表现为命名空间类。
就像是:
namespace wherever\somewhere\deep\deep\inside;
use \; // root namespace.. note: this doesn't work
class stuff{
//....
}
anyone?
使用全局命名空间不会按您期望的方式工作。
默认情况下,您可以通过添加反斜杠来引用全局命名空间类 - 例如$x = new \PDO(...);
。尝试去use \
不会改变这一点。
如果你想从全局命名空间类中删除反斜杠,你需要use
他们每个人具体。在命名空间 PHP 中,任何没有命名空间的类引用都被假定位于当前命名空间中,除非它被显式引用use
陈述。
eg:
use \PDO, \SplFileObject;
现在我们可以打电话new PDO(...)
or new SplFileObject()
没有反斜杠。但其他不在其中的全局类use
仍然需要反斜杠。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)