Доктрина 2 -Нет классов метаданных для обработки с помощью orm:генерировать-репозитории

Я пытаюсь создать репозитории сущностей и получаю такое сообщение

Нет классов метаданных для обработки

Я отследил использование

использования Doctrine\ORM\Mapping as ОРМ; и @ORM\Таблица не работает должным образом.

Если я заменю все @ORM\Table на @Table(и другие аннотации )-, это начнет работать, но я действительно не хочу, чтобы это было так, поскольку это должно работать с аннотацией @ORM.

Я следовал инструкциям со страницы ниже, но безуспешно. Я знаю, что близок, но что-то упустил с путями к файлам или пространствами имен. Пожалуйста помоги.

http://docs.doctrine-project.org/projects/doctrine-common/en/latest/reference/annotations.html

У кого-нибудь была такая проблема? Что мне не хватает?

cli-config,

use Doctrine\Common\Annotations\AnnotationReader;
use Doctrine\Common\Annotations\AnnotationRegistry;

require_once 'Doctrine/Common/ClassLoader.php';

define('APPLICATION_ENV', "development");
error_reporting(E_ALL);



//AnnotationRegistry::registerFile("Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php");
//AnnotationRegistry::registerAutoloadNamespace("Symfony\Component\Validator\Constraint", "Doctrine/Symfony");
//AnnotationRegistry::registerAutoloadNamespace("Annotations", "/Users/ivv/workspaceShipipal/shipipal/codebase/application/persistent/");

$classLoader = new \Doctrine\Common\ClassLoader('Doctrine');
$classLoader->register();

$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__. '/application/');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__. '/application/persistent');
$classLoader->register();

$config = new \Doctrine\ORM\Configuration();
$config->setProxyDir(__DIR__. '/application/persistent/Proxies');
$config->setProxyNamespace('Proxies');

$config->setAutoGenerateProxyClasses((APPLICATION_ENV == "development"));


$driverImpl = $config->newDefaultAnnotationDriver(array(__DIR__. "/application/persistent/Entities"));
$config->setMetadataDriverImpl($driverImpl);

if (APPLICATION_ENV == "development") {
    $cache = new \Doctrine\Common\Cache\ArrayCache();
} else {
    $cache = new \Doctrine\Common\Cache\ApcCache();
}

$config->setMetadataCacheImpl($cache);
$config->setQueryCacheImpl($cache);


$connectionOptions = array(
    'driver'   => 'pdo_mysql',
    'host'     => '127.0.0.1',
    'dbname'   => 'mydb',
    'user'     => 'root',
    'password' => ''

);

$em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
$platform = $em->getConnection()->getDatabasePlatform();
$platform->registerDoctrineTypeMapping('enum', 'string');

$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
     'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()),
     'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em)
));

User.php(рабочая версия, изначально она была такой, как описано, @Table была @ORM\Table и другие подобные аннотации имели часть @ORM\ как @ORM\Column и т.д.)

19
задан waney 21 March 2012 в 17:59
поделиться