[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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
mark下