Как установить gedmo-расширения в Doctrine2?

я пытаюсь установить поведенческие расширения "gedmo" (версия 2.1.0-DEV) в Doctrine2 ( версия 2.1.3).

Без расширений все работает нормально. Однако, когда я добавляю annotationdriver для чтения ошибок @gedmo-annotations, таких как «Uncaught exception 'Doctrine\ORM\Mapping\MappingException' with message 'Class User2 is not a valid entity or mapped super class». Это сущность User2:

<?php

use \Doctrine\ORM\Mapping as ORM;

/** @ORM\Entity  */
class User2 {

    /**
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    private $id;

    /** @ORM\Column(length=255) */
    private $username;
}

Поскольку эти ошибки возникают даже в объектах, где @gemdo не используется, я подозреваю, что это как-то связано с тем, как настроены драйверы аннотаций. В моем загрузочном файле добавлен драйвер аннотации (я буду использовать только расширение дерева):

$reader = new \Doctrine\Common\Annotations\AnnotationReader();
$annotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader);

$chain = new \Doctrine\ORM\Mapping\Driver\DriverChain;
$chain->addDriver($annotationDriver, 'Gedmo\Tree\Entity');

$config->setMetadataDriverImpl($chain);

Несколько вопросов:

  1. Должен ли я добавить драйвер для ORM-аннотации?
  2. Что-то не так с классом User2?
  3. Как я могу получить более конкретную пользовательскую ошибку, позволяющую найти точную причину проблемы?

Вкратце: как я могу заставить работать аннотации @orm и @gedmo?


person murze    schedule 19.12.2011    source источник


Ответы (1)


недавно был добавлен пример, чтобы показать, как настроить пустой диспетчер сущностей с расширения без использования каких-либо фреймворков. Вы можете следовать readme внизу, чтобы узнать, как настроить его изначально.

person Gediminas    schedule 20.12.2011