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

3.3 Класс «AutoLoader». Регистрация автозагрузчика

Last updated on 09.05.2021

autoloader2

Регистрируем класс «AutoLoader» в качестве метода автозагрузки. Для этого создаётся метод «register()», который использует функцию «spl_autoload_register()».

Метод register()

Метод unregister()

Функция spl_autoload_register()

Дело в том, что регистрация автозагрузчика возможна только с помощью функции «spl_autoload_register()«.

Регистрация автозагрузчика

Функция «spl_autolod_register()» содержит три параметра:

  1. Вызываемая функция (метод)
  2. Флаг использования исключений (в случае неудачи)
  3. Флаг постановки в начало очереди выполнения

В качестве первого аргумента, функция «spl_autolod_register()» получает ссылку на текущий объект. То есть на экземпляр класса «AutoLoader». Но данная функция может зарегистрировать в качестве автозагрузчика только другую функцию. Нам же необходимо зарегистрировать целый класс. Чтобы это сделать придётся прибегнуть к помощи «магического метода — __invoke()». Его мы укажем в конце тела класса. Данный метод вызывается, когда скрипт пытается выполнить объект (класс) как функцию.

Функция spl_autoload_unregister()

Так как мы используем функцию регистрации автозагрузчика, то нам может понадобиться и функция отмены регистрации метода автозагрузки. Поэтому создаём метод «unregister()». Он будет использовать функцию «spl_autoload_unregister()». Она содержит один параметр. В качестве аргумента мы передаём ссылку на наш класс.

В результате запуска метода «unregister()» класс «AutoLoader» удаляется из очереди автозагрузки.

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