
Карта классов позволяет автоматически подключать любой файл «.php» проекта. А это избавляет разработчика от лишних трудов. Прописывать путь к каждому файлу (особенно если их десятки, а может и сотня) — это очень утомляет. Поэтому для работы с картой классов нам понадобятся несколько методов.
Метод getClassMap()
Метод addClassMap()
Метод addToClassMap()
Методы removeClassMap() и removeFromClassMap()
Метод getClassMap()
Данный метод возвращает ассоциативный массив «classMap«.

В этом массиве ключом является комбинация пространства имени класса и его названия. А вот значением же служит полный путь к файлу, в котором был объявлен этот класс. Это и есть карта классов.
Метод addClassMap()
Этот метод добавляет к существующей карте класса группу дополнительных записей. Данному методу передаётся ассоциативный массив, построенный по тому же принципу, что и массив «classMap«. При запуске данного метода, в первую очередь проводится проверка передаваемого параметра. С помощью функции «is_array()» выясняем, является ли этот параметр массивом. Если это так, тогда проверяем является ли он ассоциативным массивом. Если это так, тогда используем функцию «array_merge()» для слияния двух массивов.
Метод addToClassMap()
Этот метод позволяет добавлять к карте класса одиночные записи. Для этого данному методу передаются:
- Пространство имён через параметр»$prefix»
- Имя класса через параметр»$class»
- Путь к файлу класса через параметра»$path»

Если переменной «$prefix» можно присваивать пустую строку в качестве значения, то для перменных «$class» и «$path» этого делать нельзя. Поэтому при запуске этого метода проводится проверка обеих переменных. Если они не пустые, тогда можно добавить к карте классов новую запись.
Заметьте, что для всех трёх переменных используется конструкция «(string)». Это так называемое «приведение типов«. Оно позволяет значение указанных переменных представить в виде строки. Для нас это крайне важно, поскольку ключ массива «classMap» и его значение должны быть строковыми.
Методы removeClassMap() и removeFromClassMap()
Метод «removeClassMap()» обнуляет весь массив «classMap«. Таким образом удаляется вся карта классов.
Метод «removeFromClassMap()» — удаляет одиночную запись из карты классов. Для этого достаточно указать:
- Пространство имён через параметр»$prefix»
- Имя класса через параметр»$class»
Если переменная » $class » прошла проверку, тогда удаляем запись из карты класса с помощью функции «unset()».
Все перечисленные методы предполагают «ручное» добавление классов в массив «classMap«. Но мы ведь создаём автозагрузчик, то есть предполагается, что весь процесс будет происходить в автоматическом режиме. Потому этих методов недостаточно. Далее будут рассмотрены остальные методы класса «Autoloader», которые автоматизируют весь процесс построения карты классов и подключения файлов.