я пытаюсь установить поведенческие расширения "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);
Несколько вопросов:
- Должен ли я добавить драйвер для ORM-аннотации?
- Что-то не так с классом User2?
- Как я могу получить более конкретную пользовательскую ошибку, позволяющую найти точную причину проблемы?
Вкратце: как я могу заставить работать аннотации @orm и @gedmo?