#9.3 php Вложенные пространства имен. Импортирование элементов (use) и задание псевдонимов
Primary tabs
Вложенные пространства имен
Используя слеши (\
), пространство имен можно определить с произвольным количеством вложенных подпространств на различных уровнях вложенности. Например,
<?php namespace php8\my\full\classes; class myClass { public function __construct() { echo "Создание нового объекта<BR>"; } }
При таком определении иерархии подпространств, находясь внутри пространства имен php8
верхнего уровня, можно использовать относительное имя my\full\classes\myClass
для обращения к классу myClass
:
<?php namespace php8; include "classes.php"; //подключаем файл с описанием пространства имен $obj = new my\full\classes\myClass;
Аналогично, внутри пространства php8\my
можно убрать ещё один уровень при обращении к данному классу и использовать имя full\classes\myClass
.
Импортирование (use) элементов пространства имен. Псевдонимы
Импортирование и задание псевдонимов является ещё одним преимуществом использования пространств имен, которое позволяет избегать черезчур длинных имен функций, констант и классов.
Ключевое слово use
позволяет импортировать функции, классы, трейты, интерфейсы, константы и целые пространства имен, а конструкция
use element as alias;
позволяет задавать псевдонимы для обращения к импортированным элементам.
При импортировании элемента всегда используется его полное квалифицированное имя без ведущего слеша. Например, в результате импорта php8\my\full\classes\myClass
в глобальное пространство имен
<?php include "classes.php"; use php8\my\full\classes\myClass;
в дальнейшем можно обращаться к классу myClass
просто по имени без префикса:
$obj = new myClass;
Можно также задать псевдоним для импортируемого элемента:
<?php include "classes.php"; use php8\my\full\classes as myClasses; $obj = new myClasses\myClass;
- Log in to post comments
- 218 reads