[Laravel 扩展推荐] laravel-ban —— 在 Eloquent 模型中实现屏蔽功能

Laravel Ban 是一个在 Eloquent 模型中能简易实现屏蔽功能的包. 使用此软件包, 您可以在几分钟内使模型可禁用

此软件包的用例不局限于 User 模型的范围; 您可以将禁令的概念添加到任何 Eloquent 模型. 此软件包的主要功能包括:

  • 模型可以有多个禁令。
  • 删除了作为软删除记录保留在历史记录中的禁令。
  • 大部分逻辑由 BanService 处理。
  • 具有阻止被禁止的用户路由访问的中间件。
  • 用例不限于 User 模型,可以禁止任何 Eloquent 模型。
  • 在禁用和解禁模型上触发的事件。
  • 设计用于与 Laravel Eloquent 模型配合使用。
  • 支持 Laravel Nova 。
  • 使用契约保持高定制能力。
  • 使用 traits 获得开箱即用的功能。

软件包有个很好的 API,可以让禁止模型变得很简单:

$user->ban();

$user->ban([
    'comment' => 'Enjoy your ban!',
]);

// 一个有效期性的禁令
$user->ban([
    'expired_at' => '+1 month',
]);

// 移除一个禁令
$user->unban();

// 布尔值检测
$user->isBanned();
$user->isNotBanned();
$ban->isTemporary();

该包还提供了很好的便利,例如中间件、事件、范围和自动将范围应用于模型。

您可以在 GitHub 上了解有关此包的更多信息、获取完整安装说明,请查看 源代码

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-ban

译文地址:https://learnku.com/laravel/t/63305

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 1
JHWu

mark下

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!