Я хочу создать несколько пакетов Symfony2, которые можно повторно использовать в разных проектах, но в которых объекты также могут быть легко расширены при необходимости.
Примером может служить многоразовый UserBundle, который содержит объект User со всеми определенными отображениями ORM. Однако в моем приложении я мог бы захотеть расширить этот объект и добавить дополнительные столбцы, ассоциации или переопределить некоторые сопоставления родителя.
Ближайшим решением, которое я смог найти, являются сопоставленные суперклассы Doctrine2, но тогда я потерял бы плагин-и-игровость моего повторно используемого пакета, мне всегда пришлось бы расширять сопоставленный суперкласс в моем приложении, даже если Я не хочу изменять сопоставления.
Другие задокументированные схемы наследования требуют изменения сопоставлений родителя, и тогда мой UserBundle больше не будет переносимым между проектами.
Есть ли способ определить полностью-рабочий объект в одном пакете и при этом расширить его в другом пакете?