Symfony 2.0 Autoloader
期望它可以处理的库在自动加载文件时遵循or标准PSR0
。PEAR
如果您有一个不遵循这两个标准的旧库(在我的例子中,类文件的名称类似于 name.class.php),您将如何处理这些库的自动加载?
这Symfony 2.1
很容易,因为作曲家支持classmaps
并且可以加载这种类型的库,但是你会怎么做呢Symfony 2.0.x
?
在里面app/autoload.php
,创建一个实例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();