andrey-tech / autoloader-psr4-php
简单的PSR-4自动加载器,适用于PHP7+,专为不使用Composer的项目设计
2.0.0
2021-02-14 07:29 UTC
Requires
- php: >=7.0
This package is auto-updated.
Last update: 2024-09-14 16:03:22 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';
如果需要,在 autoload.php 文件中配置自动加载器 Autoloader
的参数
<?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 许可证下分发。