ellizii/autoloader

Autoloader

dev-main 2021-09-05 16:37 UTC

This package is auto-updated.

Last update: 2024-05-05 22:31:22 UTC


README

Это пакет для автоматического подключения .php файлов, содержащих классы, интерфейсы, трейты и функции.

Перед началом работы необходимо подключить файл "Autoloader.php".

include_once  'путь к папке Autoloader/src/Autoloader.php';

После этого достаточно запустить класс:

Autoloader::getInstance($path);

$path - это может быть путь к файлу .php или отдельной папке. 
Это может быть массив файлов или папок.

/* folder */
$path = __DIR__.'/load';

/* foders array */

$path =array(__DIR__.'/load',__DIR__.'/test');

/* files array */
$path =array(__DIR__.'/load/Load.php',__DIR__.'/load/LoadTrait.php');

/* file */
$path = __DIR__.'/load/LoadInterface.php';

/* Class map (array( namespace => path to file ) ) from file */
$path = __DIR__.'/load/loadArray.php';

Так как подключение происходит автоматически, то рекомендую соблюдать (но это не обязательно) некоторые правила:

  1. Имена файлов интерфейсов должны оканчиваться на "Interface.php"
  2. Имена файлов трейтов должны оканчиваться на "Trait.php"
  3. Имена файлов абстрактных классов должны оканчиваться на "Abstract.php"
  4. Имена файлов, расширяющих абстрактные классы, должны оканчиваться на "Class.php"
  5. Имена файлов, содержащих простые функции, должны оканчиваться на "Function.php"
  6. Имена файлов функций, использующих объекты, должны оканчиваться на "ObjectFunction.php"
  7. Имена файлов итераторов должны оканчиваться на "Iterator.php"

Данные рекомендации помогают подключить файлы в правильной последовательности, что позволяет избежать некоторых ошибок в работе.

Конечно имена файлов могут любые. Все они будут подключены. Но порядок подключения в этом случае будет зависеть от вас.