jetfirephp/autoload

JetFire - 支持 PSR-4 自动加载约定

dev-master 2016-02-16 20:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:58:37 UTC


README

PSR-4 自动加载器。

安装

通过 composer

composer require jetfirephp/autoload

使用方法

要使用自动加载器,首先实例化它,然后将其注册到 SPL 自动加载器堆栈中

require_once __DIR__ . '/vendor/autoload.php';

$loader = new \JetFire\Autoloader\Autoload();

$loader->register();

添加命名空间

要在此处添加单个命名空间,如何操作

$loader->addNamespace('App\Admin','/path/to/app-admin/src');
$loader->addNamespace('App\Admin','/path/to/app-admin/tests');

对于多个命名空间

$loader->setNamespaces([
    'App\Admin' => [
        '/path/to/app-admin/src',
        '/path/to/app-admin/tests'
    ],
    'App\Public' => '/path/to/app-public'
]);
// or
$loader->setNamespaces('/path/to/namespaces/file.php');

这将覆盖所有之前的命名空间设置。

添加类

要将类映射到文件,请使用 addClass() 方法。

$loader->addClass('App/Admin/Auth','/path/to/app-admin/Auth.php');

对于多个类

$loader->setClassCollection([
    'App\Admin\Auth' => '/path/to/app-admin/Auth.php'
]);
// or
$loader->setClassCollection('path/to/classes/file.php');

智能自动加载器

如果您为自动加载器设置了默认的基本目录,如下所示

$loader = new \JetFire\Autoloader\Autoload('/path/to/base/directory');

并且您想在未在 addClass() 方法中定义此命名空间的情况下实例化具有命名空间 App\Admin 的类 Auth.php,JetFire\Autoloader 将检查文件 Auth.php 是否存在于 /path/to/base/directory/App/Admin/ 文件夹中。

许可证

JetFire 自动加载器在 MIT 公共许可证下发布: https://open-source.org.cn/licenses/MIT