Урок 5. Пространства имен Flashcards
Пространство имен
Позволяет сделать отдельное пространство к которому будут относиться классы, если в другом пространстве есть классы с аналогичным названием то ошибки не будет возникать
Создание пространства имен
В файле с классом\классами, первой строкой указывается оператор namespace ExampleName и дальше перечилсяются классы
Создание экземпляра класса из пространства имен
Для создания игрока из пространства имен нужно указать полный путь с указанием названия пространства имен
$player = new \namespace\ClassName()
!в файле с пространством имен указание \namespace\ не нужно
Константа возвращающая название класса
специальная константа ::class если при выводе она указана за именем класса или обьекта то возвращает название этого класса
$object::class
Импорт пространства имен
позволяет использовать короткую запись при создании обьекта, для импорта используется оператор use
use /space/class;
Алиасы при импорте пространств имен
Если при импорте есть два класса с одинаковым названием то возникнет ошибка, для этого можно использовать alias который представляет одно слово заменяющее полное название к классу
use /fplay/player as Fplayer;
use /hplay/player as Hplayer;
Обращение к классам из другого пространства имен
Для обращения к другому пространству имен нужно использовать оператор use и импортировать пространство имен.
При этом если в начале пути не указывать слеш то оно оно будет расчитано с текущим пространством имен. Если слеш указан то импортированное пространство будет игнорировать текущее пространство
namespace main\one;
use sub\one;
Структура пространства имен
Хорошей практикой является импортирование в пространство имен всех классов к нему относящихся