Как установить gedmo-расширения в Doctrine2? - PullRequest
2 голосов
/ 19 декабря 2011

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

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

<?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?

1 Ответ

2 голосов
/ 20 декабря 2011

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

...