← Назад в словарь

Пространство имён

Пространство имён (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