@oneNevan на курсе показал крутую штуку: в PHP-конфигах Symfony можно запрашивать не только конфигураторы сервисов и расширений DI, но и текущую среду, а также ContainerBuilder!
Последнее безумно удобно в сложных инфраструктурных модулях, которые помимо сервисов добавляют свои CompilerPass-ы, автоконфигурируемые интерфейсы и обработчики атрибутов. Получается, можно не тянуться в
Kernel::build через весь проект, чтобы всё это настроить.Оказывается, в доке есть пример с
ContainerBuilder, спасибо @SymfonyAnton, раскрыл глаза. 👀Выше я, конечно, подразумевал модульную структуру проекта, при которой конфиг пакета размещается вутри него самого, а не в config (смотрите мой доклад про package-by-feature и модульный скелетон для Symfony).
