ehough/pulsar

Intelligent classloaders PHP 5


Keywords
autoloader, psr-0, autoload
License
MIT

Documentation

pulsar

Build Status Project Status: Active - The project has reached a stable, usable state and is being actively developed. Latest Stable Version License

Fork of Symfony's ClassLoader component compatible with PHP 5.2+.

Motivation

Symfony's ClassLoader component is a fantastic classloading library, but it's only compatible with PHP 5.3+. While 99% of PHP servers run PHP 5.2 or higher, 12% of all servers are still running PHP 5.2 or lower (source).

Version 2.8.1 will likely be the last release of this library since PHP 5.2 levels are finally falling below 10%.

Differences from Symfony's ClassLoader component

The primary difference is naming conventions of Symfony's classes. Instead of the \Symfony\Component\ClassLoader namespace (and sub-namespaces), instead prefix the class names with ehough_pulsar and follow the PEAR naming convention.

A few examples of class naming conversions:

\Symfony\Component\ClassLoader\ApcClassLoader        ----->    ehough_pulsar_ApcClassLoader
\Symfony\Component\ClassLoader\UniversalClassLoader  ----->    ehough_pulsar_UniversalClassLoader

How to use

Please see the Symfony documentation for general use instructions.

ComposerClassLoader

pulsar also includes a novel class for Composer-based projects, ehough_pulsar_ComposerClassLoader, which features:

Simple to create and use. Just point it to your vendor directory:

$classLoader = new ehough_pulsar_ComposerClassloader('/path/to/your/vendor/directory');

Releases and Versioning

Releases are synchronized with the upstream Symfony repository. e.g. ehough/pulsar v2.3.1 has merged the code from symfony/ClassLoader v2.3.1.