andrey-tech / autoloader-psr4-php
Простой PSR-4 автозагрузчик классов на PHP7+, предназначенный для проектов не использующих Composer
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-10-14 16:12:06 UTC
README
Простой автозагрузчик классов на PHP7+, реализующий автоматическую загрузку классов из путей к файлам в соответствии со спецификацией PSR-4.
Предназначен для проектов, которые не используют Composer и его автозагрузчик классов.
Содержание
Требования
- PHP >=7.0
Описание
Автозагрузчик состоит из 2-х файлов и работает в глобальном пространстве имен:
- Autoloader.php - содержит класс автозагрузчика
Autoloader
; - autoload.php - предназначен для настройки параметров автозагрузчика
Autoloader
и его инициализации.
В случае возникновении ошибок при работе автозагрузчика вызывается пользовательская ошибка типа E_USER_ERROR
.
Параметры настройки автозагрузчика доступны через публичные статические свойства класса Autoloader
:
Публичные статические методы класса Autoloader
:
static setIncludePath(array $newPaths, int $mode = 3)
Устанавливает новые пути в настройку PHP-конфигурации include_path.$newPaths
- массив путей для включения в include_path;$mode
- режим включения путей в include_path:1
- заменить текущее значение include_path на пути;2
- добавить пути в начало include_path;3
- добавить пути в конец include_path.
Пример использования
Подключить в проекте файл autoload.php:
require_once __DIR__ . '/../../../autoload.php';
При необходимости, настроить параметры автозагрузчика Autoloader
в файле autoload.php:
<?php require_once __DIR__ . './Autoloader.php'; /** * Задает путь до каталога, в котором производится поиск классов для автозагрузки в соответствии со стандартом PSR-4. * Путь задается относительно файла Autoloader.php * @var string */ // Autoloader::$autoloadPath = __DIR__ . './'; /** * Задает режим включения каталога, в котором производится поиск классов для автозагрузки, * в настройку конфигурации include_path: * 1 - заменить текущее значение include_path на каталог; * 2 - добавить каталог в начало include_path; * 3 - добавить каталог в конец include_path. * @var int */ // Autoloader::$setAutoloadPathMode = 3; /** * Если установлено значение true, то автозагрузчик поместит регистрируемую функцию автозагрузки классов * в начало предоставляемой SPL очереди вместо добавления в конец * @var bool */ // Autoloader::$prependAutoloadMode = false; /** * Устанавливает новые пути в настройку конфигурации include_path * @param array $newPaths Массив путей для включения в include_path * @param int $mode Режим включения путей: * 1 - заменить текущее значение include_path на пути; * 2 - добавить пути в начало include_path; * 3 - добавить пути в конец include_path. * @return void */ // Autoloader::setIncludePath([ getCwd() ], $mode = 3); // Инициализация автозагрузчика классов Autoloader::init();
Автор
© 2015-2021 andrey-tech
Лицензия
Данный код распространяется на условиях лицензии MIT.