Я использую Symfony 4, и есть настраиваемое событие и подписчик, например. CustomEvent и CustomEventSubscriber. Есть модуль, который отправляет CustomEvent, например CustomModule. И этот модуль используется в контроллере (ControllerA) и команде (CommandB).
Другими словами, возможны два следующих сценария:
ControllerA -> CustomModule -> CustomEventSubscriber(CustomEvent)
Or
CommandB -> CustomModule -> CustomEventSubscriber(CustomEvent)
Логика в CustomEventSubscriber немного отличается в зависимости от того, где был вызван CustomModule (ControllerA или CommandB).
Как передать эту информацию CustomEventSubscriber
?
Я могу добавить свойство $context
в CustomEvent
и установить его в CustomModule
. Но в этом случае я должен передать информацию о контексте CustomModule
.
Или, может быть, я могу использовать некоторые глобальные настройки, например контейнер?
Или создать двух разных подписчиков событий для каждого CustomEvent, отключить автоматическое подключение и «вручную» инициировать и добавить в диспетчер в ControllerA и CommandB?