Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Message Bus Bundle Laravel Package

silpo-tech/message-bus-bundle

A Symfony message bus bundle that wires commands, queries, and events to their handlers with configurable middleware, helping decouple business logic, simplify service composition, and keep PHP applications testable and maintainable.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy (or borrow): Informs whether to hand-roll an in-house command/query/event bus or adopt a lightweight, convention-driven bundle. The small surface area and MIT license make "adopt, then fork if needed" a credible third option alongside build and buy.
  • Architecture roadmap: Supports a decision to standardize on message-based (CQRS-lite / command-query separation) patterns across Symfony services, reducing per-team glue code and inconsistent handler conventions.
  • Modular monolith strategy: Useful when a product is consolidating microservices or extracting modules — a message bus gives clean in-process boundaries (commands, queries, domain events) that can later become async transport boundaries.
  • Feature and platform enablement: Enables features that benefit from decoupled side effects — notifications, audit trails, third-party sync, pricing/promotion recalculation — without coupling them to the request path.
  • Team productivity and onboarding: An opinionated bundle codifies "how we do things," shortening ramp-up for new engineers versus bespoke, per-service implementations.
  • Vendor and maintenance planning: The low adoption signal (2 stars, 0 dependents, single corporate maintainer) is itself a product input: it argues for a pilot plus an internal ownership plan rather than a blanket dependency.
  • Buy/hold/exit checkpoints: Fits a quarterly dependency review — track release cadence, Symfony version compatibility, and whether the internal fork has diverged.

When to Consider This Package

Consider it when:

  • The stack is already Symfony (PHP) and the team is comfortable with the framework's service container and middleware idioms.
  • You want conventions over configuration for commands, queries, and events — a small, readable bus rather than a framework inside a framework.
  • Your architecture is trending toward DDD / CQRS-lite / modular monolith, and you need consistent handler registration, middleware (transactions, logging, validation), and sync-vs-async dispatch.
  • You are comfortable owning a fork: the codebase is small, MIT-licensed, and can be vendored into your monorepo with an internal maintainer named.
  • You need something to prototype or standardize quickly and can accept that community documentation is thin.
  • You are evaluating Symfony Messenger vs. an opinionated bus layer and want a concrete comparison rather than an abstract debate.

Look elsewhere when:

  • You need a large community, extensive docs, and a broad hiring pool — Symfony Messenger, Tactician, or SimpleBus carry far more ecosystem weight.
  • You require commercial support, SLAs, or a vendor relationship — this is a single-organization open-source project with minimal external adoption.
  • Your platform is not PHP/Symfony, or you are standardizing across multiple runtimes.
  • You need mature async infrastructure out of the box (retries, dead-letter queues, transport fan-out). Wrapping Symfony Messenger directly is usually the lower-risk path; this bundle should be evaluated as a thin convention layer on top, not a replacement.
  • Bus factor matters and no internal owner is available — two stars and zero dependents means you are effectively the maintainer.
  • You are in a regulated environment requiring provenance, security review, and long-term support guarantees.

Adoption gate (PM checklist):

  1. Verify Symfony and PHP version compatibility against your supported matrix.
  2. Confirm the license and release history support your compliance posture (MIT, dated releases).
  3. Run a time-boxed spike (1–2 sprints) in one bounded context, not a platform-wide mandate.
  4. Decide explicitly: adopt as-is, adopt-and-fork, or replicate the pattern in-house.

How to Pitch It (Stakeholders)

For executives (one paragraph): This is a small, permissively licensed PHP/Symfony component that standardizes how our services pass messages between parts of the application. It is not a platform bet — it is an architecture accelerator. The upside is faster feature delivery and cleaner service boundaries; the risk is that it has almost no external user base, so if we adopt it we should treat it as our own code. Recommendation: fund a short, contained pilot inside one team, measure delivery speed and integration friction, and only then decide whether to standardize. Cost of the pilot is low; cost of an unowned dependency at scale is not.

For engineering leadership:

  • What it does: provides a message bus for Symfony — routing commands, queries, and events to handlers, with a middleware pipeline for cross-cutting concerns (transactions, logging, validation) and a path to async dispatch.
  • Why it's attractive: it is deliberately small and opinionated. That means low integration overhead, easy code review, and a small blast radius if we fork it.
  • What to watch: thin documentation, no meaningful external adoption, and a single-organizational maintainer. We will need to designate an internal owner and pin versions.
  • How it compares: Symfony Messenger is the safer default for transport, retries, and async scale. This bundle is best framed as a convention layer, not a replacement — evaluate it as "do we want these conventions, and do we want to own them?"
  • Ask: one team, one bounded context, one sprint or two; success criteria are (a) measurable reduction in boilerplate for new handlers, (b) no blockers on async or observability, (c) a clear fork-and-own plan if we proceed.

Positioning line: A low-cost architectural convention with high ownership implications — pilot it, don't platform-mandate it.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib