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

3.5 Класс “Autoloader”. Работа с папками

Last updated on 09.05.2021

autoloader2

В данной статье мы познакомимся с методами класса “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“. Если нет, тогда сохраняем его.

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