Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/vendor/symfony/class-loader
Yannick Warnier 93566e8613 Add static resources for release 10 years ago
..
Tests Add static resources for release 10 years ago
.gitignore Add static resources for release 10 years ago
ApcClassLoader.php Add static resources for release 10 years ago
ApcUniversalClassLoader.php Add static resources for release 10 years ago
CHANGELOG.md Add static resources for release 10 years ago
ClassCollectionLoader.php Add static resources for release 10 years ago
ClassLoader.php Add static resources for release 10 years ago
ClassMapGenerator.php Add static resources for release 10 years ago
DebugClassLoader.php Add static resources for release 10 years ago
DebugUniversalClassLoader.php Add static resources for release 10 years ago
LICENSE Add static resources for release 10 years ago
MapClassLoader.php Add static resources for release 10 years ago
Psr4ClassLoader.php Add static resources for release 10 years ago
README.md Add static resources for release 10 years ago
UniversalClassLoader.php Add static resources for release 10 years ago
WinCacheClassLoader.php Add static resources for release 10 years ago
XcacheClassLoader.php Add static resources for release 10 years ago
composer.json Add static resources for release 10 years ago
phpunit.xml.dist Add static resources for release 10 years ago

README.md

ClassLoader Component

ClassLoader loads your project classes automatically if they follow some standard PHP conventions.

The ClassLoader object is able to autoload classes that implement the PSR-0 standard or the PEAR naming convention.

First, register the autoloader:

require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';

use Symfony\Component\ClassLoader\ClassLoader;

$loader = new ClassLoader();
$loader->register();

Then, register some namespaces with the addPrefix() method:

$loader->addPrefix('Symfony', __DIR__.'/src');
$loader->addPrefix('Monolog', __DIR__.'/vendor/monolog/src');

The addPrefix() method takes a namespace prefix and a path where to look for the classes as arguments.

You can also register a sub-namespaces:

$loader->addPrefix('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib');

The order of registration is significant and the first registered namespace takes precedence over later registered one.

You can also register more than one path for a given namespace:

$loader->addPrefix('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src'));

Alternatively, you can use the addPrefixes() method to register more than one namespace at once:

$loader->addPrefixes(array(
    'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'),
    'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
    'Doctrine' => __DIR__.'/vendor/doctrine/lib',
    'Monolog' => __DIR__.'/vendor/monolog/src',
));

For better performance, you can use the APC class loader:

require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';
require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcClassLoader.php';

use Symfony\Component\ClassLoader\ClassLoader;
use Symfony\Component\ClassLoader\ApcClassLoader;

$loader = new ClassLoader();
$loader->addPrefix('Symfony', __DIR__.'/src');

$loader = new ApcClassLoader('apc.prefix.', $loader);
$loader->register();

Furthermore, the component provides tools to aggregate classes into a single file, which is especially useful to improve performance on servers that do not provide byte caches.

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/ClassLoader/
$ composer install
$ phpunit