dnaber / requisite
一个模块化、可扩展的PHP自动加载器。
1.0.0
2016-03-24 18:52 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-09 17:33:01 UTC
README
受 Tom Buttler 和 Fuxia Scholz 启发。
此库需要PHP版本 5.5.0
。如果您需要旧版本支持,请使用 1.0
版本分支,它仍然支持PHP 5.3.0
。
概念
这个自动加载器的主要思想是将文件定位(Requisite\Rule
)和文件加载(Requisite\Loader
)过程分离。
可以在 Requisite\SplAutoloader
的主自动加载器实例上注册多个规则。包含的规则 Rule\NamespaceDiretoryMapper
将命名空间匹配到目录名(这实际上实现了Psr-4)。
规则
Psr4
将命名空间映射到相对于基础目录和基础命名空间的基础系统目录,如Psr-4 中所述。
ClassMap
提供完全限定类名到文件名的静态映射。
用法示例
/** * Load the Requisite library. Alternatively you can use composer's * autoloader via include vendor/autoload.php */ require_once 'src/Requisite/Requisite.php'; Requisite\Requisite::init(); $autoloader = new Requisite\SplAutoLoader; //load the Monolog lib from the vendor/Monolog directory $autoloader->addRule( new Requisite\Rule\Psr4( __DIR__ . '/vendor/Monolog', // base directory 'Monolog' // base namespace ) ); // configure a ClassMap $autoloader->addRule( new Requisite\Rule\ClassMap( [ 'Foo\Bar' => '/vendor/package/src/Foo/Bar.php', 'Foo\Bazz' => '/vendor/package/src/Foo/Bazz.php' ] ) );
路线图
查看带有标签 “enhancement” 的问题