2016-01-27 4 views
2

Предположим, у меня есть пространство имен верхнего уровня \Outer и у меня есть еще один суб-имен \Outer\Inner и у меня есть другое пространство имен верхнего уровня \InnerPHP: используя класс суб-пространства имен в пространстве имен

и в классе в \Outer Я использую Inner как этот

use Inner; 

то, который будет использоваться внутренний?

\Outer\Inner // (sub-namespace) 

или

\Inner // (top-level namespace) 

Я смущен, потому что PHP говорит, что \ была необязательной для пространств имен верхнего уровня?

+0

'использовать Inner' и' использование \ Inner' оба разные. Первый - это пространство подпространств пространства имен Outer, но позже одно - это пространство имен верхнего уровня. – Haridarshan

+0

Возможный дубликат [Как реализовать вложенное пространство имен в PHP?] (Http://stackoverflow.com/questions/2230025/how-to-implement- вложенные пространства имена-в-РНР) –

ответ

0

Если у вас есть пространство имен \Outer в классе, то use Inner будет использовать Inner пространство имен верхнего уровня. Если вы хотите использовать подпространстве имен вы sould сделать \Outher\Inner

Как указано в PHP using namespaces

Допустим, ваш первый файл был:

<?php 
namespace Outer\Inner; 

<?php 
namespace Outer; 

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

 Смежные вопросы

  • Нет связанных вопросов^_^