3

假设我有一个顶级命名空间\Outer ,我有另一个子命名空间\Outer\Inner ,我有另一个顶级命名空间\Inner

\OuterInner这样使用的课程中

use Inner;

那么将使用哪个 Inner 呢?

\Outer\Inner // ( sub-namespace )

或者

\Inner  // ( top-level namespace )

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

4

1 回答 1

1

当您\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    
于 2016-01-27T07:48:02.660 回答