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

Service Bus Lite Bundle Laravel Package

psamatt/service-bus-lite-bundle

Symfony bundle that wires the service-bus-lite library into your app, giving you a simple command and query bus with middleware support. Register handlers via tags, dispatch messages from controllers or services, and keep business logic decoupled from framework plumbing.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit The package is a Symfony bundle, not a Laravel package. There is no service provider, no facade, no Laravel container binding, and no config/*.php publication. Its integration contract is Symfony's bundle/DIC extension model (Bundle class, Extension, YAML/XML service definitions), which Laravel does not consume. Architecturally it implements the Service Bus pattern (command dispatch to handlers, handle() semantics), which conceptually maps onto Laravel's command bus / job dispatch, but the implementation is coupled to Symfony's event dispatcher and container. Fit with a Laravel codebase is effectively zero without an adapter.

Integration feasibility Low. To use this in Laravel a team would need to: replace the Symfony container with Laravel's, re-register the command/handler mappings manually, bridge the Symfony event dispatcher to Laravel's dispatcher (or bypass it), and reimplement bundle configuration as Laravel config. That is a rewrite of the package's integration layer, not an integration.

Technical risk Very high. Signals: 4 stars, 0 dependents, a score of 0.02, and the Bundle suffix indicating a Symfony 2-era codebase (circa 2013–2014). Expect PHP 5.3–5.6 constraints, no PHP 8 compatibility, no return types, deprecated patterns, and unmaintained transitive dependencies. Security and CVE exposure is unmanaged. Bus/queue libraries also sit on the critical path for write operations — a failure here means lost commands, not degraded UI.

Key questions

  • Is the actual requirement "Service Bus pattern" or specifically "this package"? Almost certainly the former.
  • What PHP and framework versions must be supported? If PHP 8.1+/Laravel 10+, this is a non-starter.
  • Does the team need async transport (queue) or just synchronous command/handler separation?
  • Who owns the code if we fork it? Is there appetite to vendor and maintain ~a few hundred lines indefinitely?
  • What is the licensing and provenance check on the upstream repo?

Integration Approach

Stack fit Mismatch. Recommend rejecting the bundle and treating it as a reference implementation only. For a Laravel codebase the idiomatic equivalents are:

  • Laravel's built-in bus (dispatch(), Bus::dispatch, job classes with handle()) for command/handler separation.
  • symfony/messenger (framework-agnostic, actively maintained) if a formal message bus with middleware, transports, and retries is required.
  • league/tactician if a lightweight command bus with middleware is preferred and PHP 8 support is needed.

Migration path If a team is already on this bundle in a legacy Symfony app, the migration is bundle → Symfony Messenger (or → Laravel bus if moving to Laravel). Sequence: inventory commands and handlers, map command→handler bindings, replace dispatch() call sites behind a thin application-level interface, then swap the implementation underneath. The interface-first step is what makes the swap reversible.

Compatibility Assume no compatibility with current PHP or Laravel. Do not attempt to install it into a modern project to "see if it works"; the dependency resolution will either fail or drag in abandoned Symfony 2 components. Verify with a throwaway container if needed, but budget for failure.

Sequencing

  1. Confirm the requirement is the pattern, not the package.
  2. Define an internal CommandBus interface in the domain layer.
  3. Adopt a maintained implementation behind that interface.
  4. Port handler logic; keep handlers framework-agnostic so future swaps are cheap.
  5. Only revisit this package if a hard constraint (existing Symfony 2 monolith) forces it — and then vendor it.

Operational Impact

Maintenance Effectively unmaintained. Zero dependents and four stars means no community pressure to fix bugs, no security response, and no upstream support. Any fork becomes internal IP with an owner, an on-call rotation, and a test suite — a real cost for a small library.

Support No vendor, no active maintainer engagement, no issue triage. Internal engineers become the de facto maintainers. Escalation path is "read the source."

Scaling The pattern itself scales (stateless dispatch); the package does not help with scaling. There is no first-class transport, retry, dead-letter, or backpressure story in a lite bundle — throughput is bounded by whatever synchronous handling you build. If volume matters, a real queue (SQS/Redis/SQS-compatible) with a maintained bus is required.

Failure modes

  • Dependency rot: composer install breaks on PHP/framework upgrades.
  • Silent divergence: a forked copy drifts from upstream with no merge path.
  • Handler registration gaps: manual wiring means a missing binding fails at runtime, not compile time.
  • Sync coupling: long-running handlers block requests; no timeout or retry semantics by default.
  • Bus on the write path: dispatch failures surface as user-facing errors with no replay.

Ramp-up Low to learn the pattern (a day), high to own the code (weeks, including tests, wiring, and upgrade-proofing). New engineers will not find documentation or community answers; knowledge concentrates in whoever read the source.

Recommendation Do not adopt. Score it as a pattern reference. Use Laravel's native bus or Symfony Messenger behind an internal interface, and revisit only if a legacy Symfony 2 constraint makes a vendored fork unavoidable — in which case assign an explicit owner before writing a line of code.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core