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

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