Пространство имён
Пространство имён (Namespace) — пространство имён
Суть в одном предложении
Пространство имён — способ группировать классы и функции, избегать конфликтов имён и связывать имена с путями при автозагрузке.
Краткое определение
Пространство имён (неймспейс) — способ логически группировать классы, функции и константы, чтобы избежать конфликтов имён и связать имя с путём к файлу при автозагрузке.
Оригинал и перевод
- Язык: английский
- Оригинал: Namespace
- Буквальный перевод: пространство имён
Синонимы и варианты написания
- Namespace
- Неймспейс
Происхождение
В PHP появились в версии 5.3; идея заимствована из других языков (C++, Java и др.). PSR-4 связывает неймспейсы с путями в файловой системе.
Где используется
- PHP (с 5.3), многие языки и фреймворки
Когда это важно
При росте кодовой базы и подключении сторонних библиотек неймспейсы устраняют конфликты имён и задают структуру.
Подробное объяснение
Например, класс Project\Services\OrderService живёт в неймспейсе Project\Services и по PSR-4 может соответствовать файлу lib/Services/OrderService.php. Неймспейсы позволяют держать в одном проекте классы с одинаковыми короткими именами из разных модулей и однозначно указывать их при регистрации (например, обработчиков событий).
Аналоги и связанные термины
- PSR-4
- Autoload
- Module
- Class
Пример использования
«Компоненты в Bitrix ищутся по неймспейсу: /local/components/my/catalog.section.custom/ — неймспейс my, имя компонента catalog.section.custom.»
Мини‑FAQ
- Namespace и папка — одно и то же? Ответ: При PSR-4 неймспейс обычно соответствует пути к файлу, но это соглашение, а не жёсткая связь языка.
Смотри также
- Autoload
- PSR-4
- Entry point