Пространства имен в PHP

Пространства имен в PHP
Пространства имен в PHP

Начиная с версии 5.3, в PHP появился практичный и важный инструмент, активно использующийся в других языках программирования — пространство имен или namespace. Позволяет организовать код в определенную виртуальную иерархию, сравнимую со способом формирования каталога.

Каждый современный фреймворк или компонент организует код в соответствие со своим уникальным пространством имен, действующим на глобальном уровне. Это необходимо для исключения конфликтов с именами классов, которые используются другими разработчиками.

Пространства имен в широком смысле являются одним из способов инкапсуляции. PHP поддерживает все ключевые механизмы объектно-ориентированного программирования. Их всего три:

  1. Инкапсуляция.
  2. Полиморфизм.
  3. Наследование

В информатике и программировании инкапсуляция означает выделение ключевого содержания, путем помещения второстепенного в некий условный контейнер. При этом должна обеспечиваться доступность этого ключевого содержания. Примером может выступить способ организации файлов во многих операционных системах. В них директории имеют функции группировки связанных файлов, выступая в виде пространства имен. Так, файл new.txt может находиться сразу в нескольких папках /home/user и /home/downloads. Однако два файла new.txt с одинаковым названием не могут лежать в одной папке.

Также и в PHP не может быть два одинаковых по названию класса — все они должны быть уникальными. И если используется сторонняя библиотека или чужой код, то сложно отвечать за все названия классов, чтобы они не повторялись со своими собственными. Пример объявления пространства имен: "namespace MyFramework/Component/Search;".

Объявление пространства имен всегда помещается с новой строчки кода сразу же после открывающего тега

По вложенности это действительно схоже с привычной иерархией файловой системы, но стоит помнить, что пространство имен — виртуальное понятие. С технической стороны пространства имен — всего лишь система обозначений для языка программирования, позволяющая получить общие префиксы имен классов, констант, функций и интерфейсов.

Понравилась статья?

Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.

Поделиться с друзьями:

Подписаться на новые статьи:

Delivered by FeedBurner

Поддержите пожалуйста мой проект!

Следующая статья >>

Если у Вас есть какие-то вопросы или предложения, то можете писать их в комментариях или мне на почту sergiu1607@gmail.com. И если Вы заметили какую-то ошибку в статье, то прошу Вас, сообщите мне об этом, и в ближайшее время я всё исправлю.

Добавляйтесь ко мне в друзья в:

Добавляйтесь в мои группы:

Подпишитесь на мои каналы:

Автор статьи: Мунтян Сергей

Копирование материалов с сайта sozdatisite.ru ЗАПРЕЩЕНО!!!

Дата добавления: 2020-09-01 18:20:35