loops/autoloader

为以包为中心的自动加载(具有独特命名空间 PSR-4/PSR-0 混合)的自动加载器。

1.0.3-RC 2016-04-06 12:01 UTC

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

贡献者

想要贡献?

只有一个规则要遵守:挑战自己