An open API service indexing awesome lists of open source software.

https://github.com/andrey-tech/autoloader-psr4-php

Простой PSR-4 автозагрузчик классов на PHP7+, предназначенный для проектов не использующих Composer.
https://github.com/andrey-tech/autoloader-psr4-php

autoload autoloader autoloading php7 psr-4

Last synced: 6 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Autoloader PSR-4

Простой автозагрузчик классов на PHP7+, реализующий автоматическую загрузку классов из путей к файлам в соответствии со спецификацией [PSR-4](https://www.php-fig.org/psr/psr-4/).
Предназначен для проектов, которые не используют Composer и его [автозагрузчик](https://getcomposer.org/doc/01-basic-usage.md#autoloading) классов.
[![Latest Stable Version](https://poser.pugx.org/andrey-tech/autoloader-psr4-php/v)](https://packagist.org/packages/andrey-tech/autoloader-psr4-php)
[![Total Downloads](https://poser.pugx.org/andrey-tech/autoloader-psr4-php/downloads)](https://packagist.org/packages/andrey-tech/autoloader-psr4-php)
[![License](https://poser.pugx.org/andrey-tech/autoloader-psr4-php/license)](https://packagist.org/packages/andrey-tech/autoloader-psr4-php)

## Содержание

- [Требования](#%D0%A2%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Описание](#%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5)
- [Пример использования](#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Автор](#%D0%90%D0%B2%D1%82%D0%BE%D1%80)
- [Лицензия](#%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F)


## Требования

- PHP >=7.0


## Описание

Автозагрузчик состоит из 2-х файлов и работает в глобальном пространстве имен:

- *Autoloader.php* - содержит класс автозагрузчика `Autoloader`;
- *autoload.php* - предназначен для настройки параметров автозагрузчика `Autoloader` и его инициализации.

В случае возникновении ошибок при работе автозагрузчика вызывается пользовательская ошибка типа `E_USER_ERROR`.

Параметры настройки автозагрузчика доступны через публичные статические свойства класса `Autoloader`:

Статическое свойство | По умолчанию | Описание
----------------------- | ----------------- | --------
`$autoloadPath` | `__DIR__ . './'` | Задает путь до каталога, в котором производится поиск классов для автозагрузки в соответствии со стандартом PSR-4. Путь задается относительно файла *Autoloader.php*
`$setAutoloadPathMode` | 3 | Задает режим включения каталога, в котором производится поиск классов для автозагрузки, в настройку РНР-конфигурации include_path:
`1` - заменить текущее значение include_path на каталог;
`2` - добавить каталог в начало include_path;
`3` - добавить каталог в конец include_path
`$prependAutoloadMode` | false | Если установлено значение true, то автозагрузчик поместит регистрируемую функцию автозагрузки классов в начало предоставляемой SPL очереди вместо добавления в конец

Публичные статические методы класса `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*:
```php
require_once __DIR__ . '/../../../autoload.php';
```

При необходимости, настроить параметры автозагрузчика `Autoloader` в файле *autoload.php*:
```php

## Автор
© 2015-2021 andrey-tech


## Лицензия
Данный код распространяется на условиях лицензии [MIT](./LICENSE).