Перейти к содержанию

3.8 Класс “AutoLoader”. Манипуляции с картой классов

Last updated on 09.05.2021

В принципе все манипуляции с картой классов сводятся к трём методам. Они описаны ниже. Их не так много потому, что нет особой надобности во внесении в каких-то крупных изменений в карту классов. Карта ведь создаётся автоматически, а потому она составлена именно так, как нам это необходимо.

Метод writeToFile()

Метод addClassMapFromFile() и addClassMapFromDir()

Метод writeToFile()

Этот метод манипуляции записывает карту классов в отдельный “.php” файл в виде массива. Данная функция работает с параметром “$output”. Это путь к записываемому файлу.

манипуляции с картой классов

Как только метод получает путь к файлу, запускается конструкция “foreach”:

foreach (array_expression as $key => $value)
    statement

записываем в переменную “$code” массив “classMap“. При этом переменная “$class” является ключом массива, а переменная “$file” указывает месторасположение файла. Получается такой результат:

<?php

return [
'any key' => 'any path',
'any key' => 'any path', 
'any key' => 'any path', 
'any key' => 'any path', 
'any key' => 'any path' 
];

После того как переменная “$code” сформирована, её содержимое записывается в файл с помощью функции “file_put_contents()“. Этот метод будет полезен тогда, когда требуется сохранить карту классов.

Метод addClassMapFromFile() и addClassMapFromDir()

Метод “addClassMapFromFile()” – данный метод получает карту класса при подключении указанного файла “$file”. Далее он добавляет её к массиву “classMap“.

autoload-12

Метод “addClassMapFromDir()” – сканирует директории, указанные в параметре “$dir”, получает всё их содержимое, а затем строит карту классов. После этого добавляет полученную карту к массиву “classMap“. В параметр “$dir” можно передать как путь к папке, так и массив таких путей.

Опубликовано в рубрике3. Класс AutoloaderЯдро Wordpress