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

Cqrs Bundle Laravel Package

somework/cqrs-bundle

A CQRS bundle for Laravel that separates commands from queries with handler registration, buses, and middleware. Structure write and read flows cleanly while keeping integration lightweight and framework-friendly.

View on GitHub
Deep Wiki
Context7
Rules
Bus Dispatch
Explicit mode (SYNC/ASYNC/OUTBOX) bypasses the decider entirely. Use DEFAULT unless you have a specific reason to override.
cursor
Di Registrar Pattern
Every registrar has a register(ContainerBuilder $container, …): void method and is stateless — instantiated in CqrsExtension::load(), called once, discarded. Most take the section's configuration (register($container, array $config): dispatch modes, naming, retry policies, serialization,...
cursor
Handler Contract
There are no base classes (the abstract handlers were removed in 0.5: PHP cannot narrow their handle(Command $command) parameter).
cursor
Message Design
Messages (commands, queries, events) are immutable DTOs — data carriers with no behavior. Every message class should be:
cursor
Resolver Pattern
AbstractMessageTypeResolver + MessageTypeLocator implement hierarchy-aware service resolution. The resolution order is deterministic and intentionally more precise than Symfony's flat lookup:
cursor
Stamp Decider Pipeline
StampsDecider aggregates StampDecider implementations into a per-message-class pipeline. When AbstractMessengerBus::dispatchMessage() calls decide(), the aggregator runs all applicable deciders in priority order, threading the stamp array through each stage. The pipeline is cached per message...
cursor
Test Conventions
Unit tests (extend TestCase) — for testing a single class in isolation with mocked dependencies. Used for buses, resolvers, deciders, stamps, DI extension, compiler passes. No kernel boot overhead.
cursor
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.
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
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle