patrickquijano/laravel-mediator
Composer 安装命令:
composer require patrickquijano/laravel-mediator
包简介
A mediator pattern implementation for Laravel
README 文档
README
This package provides a simple implementation of the Mediator pattern and CQRS (Command Query Responsibility Segregation) for Laravel applications.
Features
- Decouples commands and queries from their handlers
- Promotes loose coupling and testability
- Improves code organization
Installation
composer require patrickquijano/laravel-mediator
Usage
- Create commands or queries or events:
<?php namespace App\Commands; use LaravelMediator\Abstracts\Buses\Command; class MyCommand extends Command { public function __construct(public string $data) { } }
<?php namespace App\Queries; use LaravelMediator\Abstracts\Buses\Query; class GetUserDataQuery extends Query { public function __construct(public int $userId) { } }
- Create handlers:
<?php namespace App\Handlers; use LaravelMediator\Abstracts\Buses\Handlers\CommandHandler; class MyCommandHandler extends CommandHandler { public function handle(MyCommand $command): void { // Handle the command } }
<?php namespace App\Handlers; use LaravelMediator\Abstracts\Buses\Handlers\QueryHandler; class GetUserDataQueryHandler extends QueryHandler { public function handle(GetUserDataQuery $query): array { // Fetch user data and return it } }
- Configure event listeners in
bootstrap/app.php:<?php use Illuminate\Foundation\Application; return Application::configure(basePath: dirname(__DIR__)) ->withEvents([ __DIR__.'/../app/Handlers', ]);
- Dispatch commands or queries:
use LaravelMediator\Facades\CommandBus; CommandBus::dispatch(new MyCommand('data'));
use LaravelMediator\Facades\QueryBus; $userData = QueryBus::dispatch(new GetUserDataQuery(123));
Contributing:
Feel free to contribute by opening issues or pull requests.
patrickquijano/laravel-mediator 适用场景与选型建议
patrickquijano/laravel-mediator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 359 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 06 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 patrickquijano/laravel-mediator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 patrickquijano/laravel-mediator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 359
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-06-09