ehough / pulsar
Intelligent classloaders PHP 5
Installs: 1 327
Dependents: 2
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 47
Open Issues: 0
Requires
- php: >=5.2
Requires (Dev)
- phpunit/phpunit: 3.7.*
- symfony/finder: ~2.0
This package is not auto-updated.
Last update: 2020-01-24 14:46:50 UTC
README
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:
- All functionality of the UniversalClassLoader
- Recognition and proper handling of Composer autoloading
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
.