Symfony2:找不到类MapClassLoader

时间:2012-02-18 18:23:44

标签: symfony

我正在MapClassLoader中使用autoload.php但由于某种原因,我一直在收到错误

Class 'Symfony\Component\ClassLoader\MapClassLoader' not found in ...\autoload.php

autoload.php:

<?php

use Symfony\Component\ClassLoader\UniversalClassLoader;
use Symfony\Component\ClassLoader\MapClassLoader;
use Doctrine\Common\Annotations\AnnotationRegistry;

$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
    //some values
));

$mapLoader = new MapClassLoader(array(
    //some values
));

$mapLoader->register();

我仔细检查了MapClassLoader.php

Symfony\Component\ClassLoader 确实

知道为什么会这样吗? :/

1 个答案:

答案 0 :(得分:1)

autoload.php是一个配置类自动加载的文件,因此无法在其中使用自动加载,您需要手动包含任何文件:

require_once __DIR__.'/../vendor/symfony/src/Symfony/ClassLoader/MapClassLoader.php';

为什么UniversalClassLoader在没有require的情况下可用?因为symfony使用bootstrap文件来处理系统文件,以减少文件加载开销。