2016-01-27 68 views
2

假设我有一个顶级命名空间内子命名空间类\Outer ,我有另一个子命名空间\Outer\Inner 和我有另一个顶级命名空间\InnerPHP:使用一个命名空间

,并在一个类中\Outer我用Inner这样

use Inner; 

然后内部将使用?

\Outer\Inner // (sub-namespace) 

\Inner // (top-level namespace) 

我很困惑,因为PHP说,\是可选的顶级命名空间?

+0

'使用Inner'和使用' \ Inner'都是不同的。第一个是外部命名空间的子命名空间,但后来一个是顶级命名空间 – Haridarshan

+0

[如何在PHP中实现嵌套命名空间?](http://stackoverflow.com/questions/2230025/how-to-implement-嵌套名称空间中的PHP) –

回答

0

如果在一个类中有名称空间\Outer,那么use Inner将使用Inner顶级名称空间。如果你想使用子名字空间,你做前人的精力 \Outher\Inner

在PHP中陈述using namespaces

比方说你的第一个文件是:

<?php 
namespace Outer\Inner; 

<?php 
namespace Outer; 

/* Qualified name */ 
Inner\foo(); // resolves to function Outer\Inner\foo