Inspired by Tom Buttler and Fuxia Scholz.
This library requires PHP version 5.5.0. If you're looking for older support, use the 1.0 release branch,
that still supports PHP 5.3.0.
The main idea behind this autoloader is the separation of the file locating (Requisite\Rule) and file loading
(Requisite\Loader) process.
One can register several rules on a main autoloader instance of Requisite\SplAutoloader. The included rule
Rule\NamespaceDiretoryMapper matches namespaces to directory names (which actually implements Psr-4).
Maps namespaces to filesystem directories relative to a base directory and base namespace as described in Psr-4.
Provides a static map of full qualified class names to file names.
/**
* 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'
]
)
);