Я ищу подходящий способ уменьшить связывание в пакете обмена сообщениями, который я пишу для платформы Symfony2, чтобы я мог легко использовать его между приложениями.
Каждый экземпляр сущности Message долженУ меня есть отправитель и получатель, instanceof Symfony\Component\Security\Core\User\UserInterface
, который мне может потребоваться просто в установщиках для свойств.Однако при настройке отношений ORM кажется, что мне нужно специально установить targetEntity (например, Foo\BarBundle\Entity\User
), что означает, что для дальнейшего использования объекта Message в разных приложениях потребуется либо изменение кода, либо чисткаони используют сущность User, которая, как мне кажется, не входит в сферу действия пакета обмена сообщениями.
Есть ли какие-либо предложения / рекомендации о том, как я могу уменьшить связь в этом случае?
РЕДАКТИРОВАТЬ: Я попытался установить глобальный параметр с расширением и использовать его в аннотациях, что-то вроде @ORM\ManyToOne(targetEntity="%my.entity%")
, но кажется, что анализатор аннотаций не преобразует параметры, потому что строка интерпретировалась какбуквальный, который потерпел неудачу, конечно.