2016-09-20 2 views
2

Насколько я знаю, если вы хотите расширить комплект из другого пакета, не создавая зависимости между ними или используя какую-либо концепцию наследования OO, еще не возможно w/Symfony & Doctrine2. Это подтвердило мою первую идею:Расширение связок снаружи в Symfony/Doctrine 2?

«Из-за того, как работает Доктрина, невозможно переопределить сопоставление объектов в комплекте». (Источник: http://symfony.com/doc/current/bundles/override.html#entities-entity-mapping)

Единственный существующий способ не дать мне удовлетворение: используя SuperMappedClasses ...

То, что я хочу, например:

  1. , имеющих контакты в автономном расслоению в одном рука (CRMBundle)
  2. , имеющее emailMessages в другом автономном узелке в другом (EmailBundle)
  3. добавляя «волшебно» Контактную :: $ emailMessages недвижимости + геттер/сеттер + шаблон прут в ShowMapper (если я используя независимую Сонату) + поля в DatagridMapper/FormMapper ... когда EmailBundle присутствует в приложении одновременно, чем Contact/CRMBundle.
  4. то же самое, на обратной стороне (E-mail)

На данный момент в качестве официального Symfony док говорит, это не представляется возможным. Кто-нибудь может подтвердить «современное состояние» в этой точке?

Фактически мы работаем над этим здесь, и я думаю, что мы собираемся прикоснуться к чему-то новому и интересному для всех в этот момент ... но я не хочу, чтобы мы работали над этим вопросом без необходимости.

Спасибо заранее,

ответ

1

В принципе, вы хотите, чтобы создать некий «динамический» собственность. Это невозможно. IMO, либо EmailMessages, и Contact - это разделенные объекты, то они находятся в двух разных пакетах и ​​не знают друг друга (вы все равно можете использовать адрес электронной почты в качестве ключа для запроса от одного к другому), либо они делают, либо часть того же «совокупности».

+0

Спасибо за ответ ... Я уверен, что мы можем найти способ сделать то, что кажется невозможным. Мы будем работать над этим, что-то делать, а затем, если мы будем успешными, напишите что-нибудь для сообщества и (если возможно) опубликуйте какой-то код. –

+0

ИМО вопрос не является техническим - конечно, есть способы - но о моделировании. Либо у вас есть модель, либо какая-то другая, но что-то динамическое/волшебное не звучит хорошо. – romaricdrigon

+0

И почему это звучит неплохо? Это так полезно получить доступ к определению сущности из-за пределов его пакета, чтобы продлить его на лету ... Он предоставит «Easy Extend Pattern», позволяющий разрабатывать материал, расширяемый, общий и в то же время автономный , –

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