
В данной статье мы познакомимся с методами класса «Autoloader«, которые будут сканировать все вложенные папки на наличие файлов «.php», а также выполнять некоторые иные манипуляции. Вся работа с папками ляжет на следующие четыре метода:
Метод getMapDirectory()
Метод hasMapDirectory()
Метод removeMapDirectory()
Метод addMapDirectory()
Метод getMapDirectory()
Этот метод возвращает содержимое массива «classMapFrom«. В нём хранится список папок (директорий), которые потом будут просканированы.

Все файлы «.php», обнаруженные в этих папках, заносятся в массив «files«.
Метод hasMapDirectory()
Данному методу, в качестве параметра («$path»), передаётся месторасположение папки. С помощью функции «in_array()» выясняем существует ли значение переменной «$path» в массиве «classMapFrom«. Если да, то метод возвращает «TRUE». Если нет, то метод возвращает «FALSE».
Метод removeMapDirectory()
Этот метод полностью удаляет данные из массива «classMapFrom«. Таким образом все файлы, что находятся в этих папках полностью исключаются из процедуры подключения.
Метод addMapDirectory()
Данный метод добавляет в массив «classMapFrom» одиночную запись или группу записей. В качестве параметра может передаваться простая строка, в которой указан путь к папке или массив таких строк. При запуске данного метода в первую очередь проверяется передаваемый параметр. Узнаём является ли он строкой или массивом. После заносим передаваемые данные во внутренний массив «$source».
После этого с помощью конструкции:
foreach (array_expression as $value) statement
осуществляем перебор каждого элемента массива «$source». С помощью функции «is_dir()» проверяем, является ли значение выбранного элемента директорией (папкой). Если да, то узнаём, с помощью метода «hasMapDirectory()», сохранялось ли ранее это значение в массиве «classMapFrom«. Если нет, тогда сохраняем его.