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-09-14 16:03:22 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';

如果需要,在 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 许可证下分发。