假设我有一个顶级命名空间\Outer
,我有另一个子命名空间\Outer\Inner
,我有另一个顶级命名空间\Inner
在\Outer
我Inner
这样使用的课程中
use Inner;
那么将使用哪个 Inner 呢?
\Outer\Inner // ( sub-namespace )
或者
\Inner // ( top-level namespace )
我很困惑,因为 php 说\
顶级名称空间是可选的?
假设我有一个顶级命名空间\Outer
,我有另一个子命名空间\Outer\Inner
,我有另一个顶级命名空间\Inner
在\Outer
我Inner
这样使用的课程中
use Inner;
那么将使用哪个 Inner 呢?
\Outer\Inner // ( sub-namespace )
或者
\Inner // ( top-level namespace )
我很困惑,因为 php 说\
顶级名称空间是可选的?
当您\Outer
在类中有命名空间时,use Inner
将使用Inner
顶级命名空间。如果你想使用子命名空间,你应该使用
\Outer\Inner
如 php using namespaces中所述
假设您的第一个文件是:
<?php
namespace Outer\Inner;
<?php
namespace Outer;
/* Qualified name */
Inner\foo(); // resolves to function Outer\Inner\foo