2011-12-19 2 views
2

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

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

<?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 не используется я подозреваю, что это что-то делать с тем, как annotationdrivers настроены. В моей самозагрузке-файле драйвер аннотации добавлен (я только собираюсь использовать дерево-расширение):

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

ответ

2

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

Смежные вопросы