dnaber / requisite
A modular, extensible PHP autoloader.
Installs: 1 615
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 3
pkg:composer/dnaber/requisite
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2025-10-09 19:58:21 UTC
README
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.
Concept
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).
Rules
Psr4
Maps namespaces to filesystem directories relative to a base directory and base namespace as described in Psr-4.
ClassMap
Provides a static map of full qualified class names to file names.
Usage examples
/** * 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' ] ) );