2010-02-09 2 views

ответ

5

Чтобы прояснить путаницу в отношении различного использования синтаксиса, пространства имен поддерживают только два синтаксис, либо в квадратных скобках или простой комбинация как будет работать. Я предлагаю, если вы используете один над другим, будьте последовательны.

<?php 
namespace my\stuff\nested { // <- bracketed syntax 
class foo {} 
} 
?> 

Это создает класс foo внутри nested пространства имен с в квадратных скобках синтаксиса ({}), это эквивалентно

<?php 
namespace my\stuff { // bracketed syntax but with a nested look 
    namespace nested { 
    class foo {} 
    } 
} 
?> 

Вы также можете использовать вложенные пространства имен с простой комбинацией синтаксисом (;)

<?php 
namespace mine; 
use ultra\long\ns\name; // <- simple-combination syntax 

$a = name\CONSTANT; 
name\func(); 
?> 

PHP: FAQ: things you need to know about namespaces

+0

Похоже, что '{}' после пространства имен не требуется? – user198729

+0

Нет, это не обязательно. Он показывает, как вы можете создать класс внутри пространства имен, следовательно, '{}' –

+0

Таким образом, единственная функция 'use' является сокращением? – user198729

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