Есть ли возможность построить цепочку переопределения связки в Symfony2?Цепочка привязки/обслуживания в Symfony2?
Например, в ядре продукта имеется CoreFeatureX
. И есть два плагина, расширяющие эту функцию PluginA
и PluginB
.
Использование стандартных методов из here или из here плагины могут отменять CoreFeatureX
проблем. Но только один из них одновременно может это сделать.
Есть ли возможность автоматически строить переопределения цепи так, что если оба PluginA
и PluginB
, зарегистрированный в системе, они могут и продлить CoreFeatureX
(может быть, наследуя друг от друга автоматически), но не знать друг о друге?
Аналогичная технология расширения используется, например, системой форума XenForo. XenForo создает цепочку наследования из плагинов, которые были зарегистрированы как некоторые расширения основного класса. Затем он предоставляет самый верхний класс расширительной цепи как самого этого основного класса.
Я хорошо понимаю вас, что вы хотите зарегистрировать пучки 'CoreFeatureX',' PluginA', 'PluginB', где плагины предназначены для расширения' CoreFeatureX' напрямую, но в результате получают цепочку наследования цепей типа «CoreFeatureX» 'расширенный' PluginA', расширенный 'PluginB'? –
@dragoste Точно. Точный порядок расширения неважен. Это может быть «CoreFeatureX», расширенный «PluginB», расширенный «PluginA», например. Но для «PluginA» и «PluginB» требуется расширение «CoreFeatureX» и не знать друг о друге. –
Я думаю, что это будет лучше, если вы добавите код sudo –