https://github.com/kuria/class-loader
Class loader implementation (PSR-0, PSR-4)
https://github.com/kuria/class-loader
autoload autoloader class-loader php psr-0 psr-4
Last synced: 2 months ago
JSON representation
Class loader implementation (PSR-0, PSR-4)
- Host: GitHub
- URL: https://github.com/kuria/class-loader
- Owner: kuria
- License: mit
- Created: 2014-06-21T23:55:50.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-06-11T09:47:51.000Z (almost 2 years ago)
- Last Synced: 2024-03-22T17:16:52.701Z (about 1 year ago)
- Topics: autoload, autoloader, class-loader, php, psr-0, psr-4
- Language: PHP
- Homepage:
- Size: 43.9 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
Class loader
############PHP class loader that implements both `PSR-0 `_
and `PSR-4 `_ autoloading... image:: https://travis-ci.com/kuria/class-loader.svg?branch=master
:target: https://travis-ci.com/kuria/class-loader.. contents::
Features
********- PSR-0 and PSR-4 autoloading
- class maps
- custom suffixes
- composer bridge
- debug modeRequirements
************- PHP 7.1.0+
Usage examples
**************Registering prefixes
====================.. code:: php
register();
// PSR-4 prefix
$classLoader->addPrefix('Foo\\Bar\\', 'vendor/foo/bar/src');$classLoader->addPrefixes([
'Kuria\\Error\\' => 'vendor/kuria/error/src',
'Foo\\Baz\\' => 'example/foo/baz',
]);// PSR-0 prefix
$classLoader->addPrefix('Example\\FooBar\\', 'vendor/example/foobar', ClassLoader::PSR0);$classLoader->addPrefixes([
'Kuria\\Error\\' => 'vendor/kuria/error/src',
'Foo_' => 'example/foo',
], ClassLoader::PSR0);// PSR-4 fallback (empty prefix)
$classLoader->addPrefix('', 'src');// PSR-0 fallback (empty prefix)
$classLoader->addPrefix('', 'old-code/example', ClassLoader::PSR0);// single class
$classLoader->addClass('Foo', 'path/to/foo.class.php');// class map
$classLoader->addClassMap([
'Bar' => 'path/to/bar.class.php',
'Baz' => 'path/to/baz.class.php',
]);Using the composer bridge
=========================The ``ComposerBridge`` class can be used to initialize autoloading for packages managed by Composer.
.. code:: php
register();
Disabling prefixes
------------------If you are using an optimized autoloader, you can pass an optional third parameter
to ``configure()`` to disable prefixes completely. Only the class maps and files
will be loaded... code:: php
setDebug(true)`` or pass ``true`` to
the appropriate constructor argument.