ehough/pulsar

Intelligent classloaders PHP 5

v2.5.0 2014-06-19 03:24 UTC

README

Build Status Project Status: Unsupported - The project has reached a stable, usable state but the author(s) have ceased all work on it. A new maintainer may be desired. Latest Stable Version License

This library is no longer supported or maintained as PHP 5.2 usage levels have finally dropped below 10%

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).

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.