Symfony 2.0 Autoloader
ожидает, что библиотеки, которые он может обрабатывать, следуют стандарту PSR0
или PEAR
при загрузке файлов. Если у вас есть старая библиотека, которая не соответствует ни одному из этих двух стандартов (в моем случае файлы классов называются name.class.php), как бы вы обрабатывали автоматическую загрузку этих библиотек?
В Symfony 2.1
это легко, так как композитор поддерживает classmaps
и может загружать библиотеки этого типа, но как вы это сделаете в Symfony 2.0.x
?
Внутри app/autoload.php
MapClassLoader
создайте экземпляр MapClassLoader
:
use Symfony\Component\ClassLoader\MapClassLoader; use Symfony\Component\ClassLoader\UniversalClassLoader; // Create default PSR-0 autoloader $loader = new UniversalClassLoader(); $loader->registerNamespaces(array( 'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'), // ... )); // Create map autoloader $mapLoader = new MapClassLoader(array( 'MyComponent' => __DIR__.'/../library/mycomponent.class.php', // ... )); // Other configurations // ... // Register autoloaders $loader->register(); $mapLoader->register();