我正在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
确实
知道为什么会这样吗? :/
答案 0 :(得分:1)
autoload.php是一个配置类自动加载的文件,因此无法在其中使用自动加载,您需要手动包含任何文件:
require_once __DIR__.'/../vendor/symfony/src/Symfony/ClassLoader/MapClassLoader.php';
为什么UniversalClassLoader
在没有require
的情况下可用?因为symfony使用bootstrap文件来处理系统文件,以减少文件加载开销。