loops / autoloader
为以包为中心的自动加载(具有独特命名空间 PSR-4/PSR-0 混合)的自动加载器。
1.0.3-RC
2016-04-06 12:01 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: ~5.0.0
This package is auto-updated.
Last update: 2024-08-29 02:50:48 UTC
README
为以包为中心的自动加载(具有独特命名空间 PSR-4/PSR-0 混合)的自动加载器。
需求
- 至少 PHP 5.3。
如何使用它
自动加载
如果没有 composer,请调用 bootstrap
:::php
require $path_to_package.'/bootstrap.inc.php';
这个库使用以包为中心的自动加载,具有包命名空间的目录(PSR-4)和下划线作为类名目录分隔符(PSR-0)。
PSR-4/PSR-0 混合
PSR-4/PSR-0 混合自动加载的目的,是为了在整个包中实现具有独特命名空间 Vendor/Package
的以包为中心的自动加载。
为了保持可用的结构,此包的所有类都使用下划线作为目录分隔符。
:::php
// register PSR-4/PSR-0 mixin autoloading for the package
\Loops\Autoloader\Psr40::getInstance()->add( 'Vendor\\Package' , $path_to_package_root.'/src' );
$o = new \Vendor\Package\My_ClassName();
// look for $path_to_package_root.'/src/My/ClassName.php'
注册命名空间
已经设计了 \Loops\Autoloader\Psr40
类作为单例来处理 特殊 的以包为中心的自动加载。
:::php
// classic implementation for a "bootstrap.inc.php" file that stands on
// the package directory
\Loops\Autoloader\Psr40::getInstance()->add( __NAMESPACE__ , __DIR__.'/src' );
// add another directory to look for
\Loops\Autoloader\Psr40::getInstance()->add( __NAMESPACE__ , __DIR__.'/tests' );
// reset all directories to look for
\Loops\Autoloader\Psr40::getInstance()->set( __NAMESPACE__ , __DIR__.'/dev' );
此类大致基于 \Composer\Autoload\ClassLoader
。
贡献者
- Pierrot Evrard 即 Loops — https://twitter.com/lxxps
想要贡献?
只有一个规则要遵守:挑战自己。