Symfony2 & Doctrine2: создание пользовательских аннотаций - PullRequest
6 голосов
/ 28 ноября 2011

Я хотел бы создать несколько пользовательских аннотаций для класса Entity, я натолкнулся на эту статью о Doctrine2 , однако я не уверен, как интегрировать это в мой комплект Symfony, могуКто-нибудь пролил свет на это?

class User implements UserInterface
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     *
     * @myCustomVar(remember="true")
     */
    protected $id;

Спасибо

1 Ответ

6 голосов
/ 29 ноября 2011

Вдохновит вас расширением доктрины:

  • Библиотека DoctrineExtensions содержит несколько классов аннотаций.Но поскольку эти аннотации ничего не значат для ядра доктрины, именно это расширение отвечает за их интерпретацию.Для этого он использует некоторых слушателей, которые должны быть зарегистрированы в диспетчере событий Doctrine.

  • В Symfony вы можете объявить службы с помощью doctrine.event_listener (или doctrine.event_subscriber для подписчиков событий)поэтому комплект Доктрины найдет их и зарегистрирует для вас. StofDoctrineExtensionsBundle в первую очередь предназначен для автоматизации этой части регистрации прослушивателей событий.

В любом случае, когда вы думаете о расширении Doctrine, поскольку его можно использовать без Symfony, предпочитаетеразделите вашу работу на две части: одна - расширение доктрины, другая - связующее звено между этим расширением и Symfony и называется связкой.

...