Skip to content

Event Extension Architecture

Event Extension Architecture ​

Events provide extension points for loading additional data or reacting to system changes. They are designed for observation and enrichment, not for altering core control flow.

Design Principles ​

  • Events expose extension points without breaking encapsulation.
  • Events should not mutate core program flow.
  • Business logic replacement must use decoration, not events.
  • Events must remain predictable and side-effect aware.

Extension Guidelines ​

  • Use events to add data, not to override behavior.
  • Avoid heavy computation or database queries inside event subscribers.
  • Keep subscribers idempotent and deterministic.
  • Prefer decoration when you need to change logic execution.

Technical Requirements ​

  • Events must always implement the \Shopware\Core\Framework\Event\ShopwareEvent interface.
  • Sales channel events must implement these interfaces:
    • ShopwareSalesChannelEvent
    • \Shopware\Core\Framework\Event\SalesChannelAware
  • Events are intended for enrichment and extension, not for control-flow modification.
Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)