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

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