Задать вопрос
@P747

Symfony 4 расширение и перехват действий HttpKernel?

Добрый день, хочу создать на основе symfony 4 - cms, в которой можно управлять модулями (включение/отключение/настройка). Как правильно перехватывать и расширять функционал HttpKernel, нужно ли лесть в ядро?

Нашел данную статью, но до конца не понял из какого "места" это все делать

https://symfony.ru/doc/current/components/http_ker...
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Сложный 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
P747 Этот вопрос — продолжение предыдущего про модульность? :) Дайте больше данных, какие всё-таки модули вы хотите. Какие юзкейсы?

Если нужно будет собирать сборки, состоящие из определённых фич, и отдавать закачикам, то это упоминаемые раньше symfony/flex с его рецептами для бандлов. Можно написать свои рецепты, если хочется изменить дефолтные значения инициализации бандлов.

Если вопрос динамического изменения функционала, тогда вопрос — от чего зависит эта динамика.
- Можно переписать ControllerResolver,
- Можно просто EventListener на самое раннее событие повесить, которое ещё до ControllerResolver'a срабатывает.
- Можно на уровне роутинга запросов
- Можно и на уровне Security компоненты разрулить — через роли, воутеры, ACL (в зависимости от сложности требуемых прав).
- Можно создать дэшборд супер-админа, который будет дергать тумблеры для фич, а код уже будет их скрывать или показывать. В целом, этот вариант идёт бок о бок с предыдущим.

В общем, нужны детали конкретной задачи, вариантов масса.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы