use level1\level2\level3;
Может кто-нибудь объяснить простой демонстрацией?Как реализовать вложенное пространство имен в PHP?
use level1\level2\level3;
Может кто-нибудь объяснить простой демонстрацией?Как реализовать вложенное пространство имен в PHP?
Чтобы прояснить путаницу в отношении различного использования синтаксиса, пространства имен поддерживают только два синтаксис, либо в квадратных скобках или простой комбинация как будет работать. Я предлагаю, если вы используете один над другим, будьте последовательны.
<?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();
?>
Похоже, что '{}' после пространства имен не требуется? – user198729
Нет, это не обязательно. Он показывает, как вы можете создать класс внутри пространства имен, следовательно, '{}' –
Таким образом, единственная функция 'use' является сокращением? – user198729