2016-01-27 69 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