alangiacomin / laravel-cqrs
Laravel CQRS
Requires
- php: ^8.4
- inertiajs/inertia-laravel: ^3.1.0
- laravel/framework: ^13.8.0
- spatie/laravel-data: ^4.22.1
- spatie/laravel-typescript-transformer: ^2.6.0
Requires (Dev)
- larastan/larastan: ^3.9.6
- laravel/pint: ^1.29.1
- mockery/mockery: ^1.6.12
- orchestra/testbench: ^11.1.0
- pestphp/pest: ^3.8.6
Suggests
- spatie/enum: Install it in the consuming app only if you still use Spatie enum classes and want them transformed to TypeScript.
- tightenco/ziggy: Install it in the consuming app only if you need JavaScript route generation from Laravel named routes.
README
Semplice pacchetto per organizzare il pattern CQRS in applicazioni Laravel. Fornisce una struttura minima per Commands, Queries e relativi handler, facilitando la separazione tra operazioni di scrittura e lettura.
Installazione
Installa il pacchetto con Composer:
composer require alangiacomin/laravel-cqrs
(Se il pacchetto non usa auto-discovery, registrare il service provider nel file config/app.php.)
Uso rapido
- Creare Command e Query nelle rispettive cartelle (es. app/Commands, app/Queries).
- Implementare gli handler per gestire la logica (es. app/Handlers).
- Dispatchare comandi e query tramite il bus fornito dal pacchetto (es. Bus::dispatch(...)).
Questo README è volutamente minimale: per esempi dettagliati e integrazione nell'applicazione, consultare il codice del pacchetto.
Applicazione base pronta all'uso
Per creare rapidamente una applicazione Laravel già configurata e pronta all'uso è possibile usare il repository "laravel-template":
https://github.com/alangiacomin/laravel-template
Questo template fornisce una base completa su cui integrare laravel-cqrs.