Laravel Actions - 精简的业务逻辑管理方案

🚀 Laravel Actions - 精简的业务逻辑管理方案

Laravel Actions Hero Image

在 Laravel 开发中,你是否曾经纠结于如何组织控制器、工作队列、监听器等?Laravel Actions 带来了一种全新的解决方案,它允许你专注于应用程序的核心任务,而不是关注代码结构本身。

1、项目介绍

Laravel Actions 是一个轻量级的包,旨在简化你的 Laravel 应用程序逻辑。通过创建单一职责的类,你可以自由地将这些类用作控制器、工作队列、事件监听器等多种角色。这一设计模式鼓励开发者直接思考应用的具体功能,而不仅仅是代码架构。

2、项目技术分析

这个包引入了一个名为 AsAction 的特性和一系列的 asX 方法(如 asControllerasJobasListener 等),这样你就可以定义你的业务逻辑类,并按需转换它们的角色。例如,一个用于发布新文章的类,可以既作为控制器处理 HTTP 请求,又作为监听器响应产品发布的事件。

class PublishANewArticle
{
    use AsAction;

    // ...业务逻辑方法
    
    public function asController(Request $request): ArticleResource
    {
        // 处理 HTTP 请求
    }

    public function asListener(NewProductReleased $event): void
    {
        // 响应产品发布事件
    }
}

3、项目及技术应用场景

对象模式
PublishANewArticle::run($author, '标题', '内容');
控制器模式
Route::post('articles', PublishANewArticle::class)->middleware('auth');
监听器模式
Event::listen(NewProductReleased::class, PublishANewArticle::class);

除了上述场景,Laravel Actions 还支持工作队列和命令行命令,提供灵活的应用场景扩展。

4、项目特点

  • 简洁: 通过单个类处理单一任务,减少代码冗余。
  • 多态: 同一个类可以轻松转换为不同的执行上下文,如控制器、监听器等。
  • 可测试性: 更容易进行单元测试,因为每个动作都是自包含的。
  • 全面文档: 提供详尽的 在线文档,指导你深入挖掘该包的所有可能性。

安装与使用

要开始使用 Laravel Actions,请运行以下命令:

composer require lorisleiva/laravel-actions

然后按照官方文档,了解如何创建并使用你的第一个 Action。

Laravel Actions 提倡更清晰、更有条理的 Laravel 应用编程模式,让开发更加高效、易读且易于维护。立即尝试,提升你的 Laravel 开发体验吧!

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郦岚彬Steward

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值