andrey-tech/autoloader-psr4-php

Простой PSR-4 автозагрузчик классов на PHP7+, предназначенный для проектов не использующих Composer

2.0.0 2021-02-14 07:29 UTC

This package is auto-updated.

Last update: 2024-12-14 16:41:16 UTC


README

Простой автозагрузчик классов на PHP7+, реализующий автоматическую загрузку классов из путей к файлам в соответствии со спецификацией PSR-4. Предназначен для проектов, которые не используют Composer и его автозагрузчик классов.
Latest Stable Version Total Downloads License

Содержание

Требования

  • 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.