grabbee
@grabbee

Как правильно использовать вложенные бандлы?

Хочу в (APP)приложении установить один (А)бандл, который внутри расширяет(дополняет) (Б)другой. Они очень похожи, просто дополняют друг друга. Самостоятельно может работать только (Б)бандл. (А)бандл жестко зависит от (Б)бандла и является его более функциональной версией.

Правильно ли я понимаю, что мне нужно фактически продублировать конфигурацию (Б)другого бандла в (А)бандл. Потом в (А)Extension через (А)CompilerPassInterface подменить параметры этого (Б)бандла на новые, которые пришли из конфигурации (А)бандла

Затем в самом (APP)приложении мне нужно будет установить и настроить только один (А)бандл и не использовать (APP)Extension вообще

Я всё правильно делаю? :)
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Вопрос в заголовке про использование, а внутри про объединение…)

Без кода сказать сложно что куда лучше перенести. Расширять один бандл тоже можно по-разному, где-то просто скопировать класс из одного и перенести в другой, затем подменить в DI контейнере, где-то влезть через события, а где-то решить вопрос наследованием.

Если речь идёт о бандле, то по всем правилам это, вероятно, какая-то публичная библиотека. Так как в своём приложении не имеет смысла делать бандлы. Поэтому, как мне кажется, стоит сделать форк данной библиотеки, перенести все нужные зависимости из А в Б, подключить библиотеку из этого форка.

Кроме того, я бы попробовал сделать pull request с вашими дополнениями, возможно их включат в основной бандл.

Переносить из Б в А не вижу смысла, так как кода явно будет больше, раз Б работает самостоятельно, а А от него зависит.

Также не вижу ничего плохого в том, что один бандл будет зависеть от другого. Вполне бандл А может жить и без объединения с бандлом Б. Главное следите за обновлением зависимостей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы