Symfony2: класс MapClassLoader не найден - PullRequest
1 голос
/ 18 февраля 2012

Я пытаюсь использовать 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 Ответ

1 голос
/ 18 февраля 2012

autoload.php - это файл, который конфигурирует автозагрузку для классов, поэтому автозагрузка в нем недоступна, и вам необходимо включить любые файлы вручную:

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

Почему UniversalClassLoader доступен без require? Поскольку symfony использует файл bootstrap для системных файлов, чтобы уменьшить накладные расходы при загрузке файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...