定制 stylers/laravel-ban 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

stylers/laravel-ban

最新稳定版本:6.0

Composer 安装命令:

composer require stylers/laravel-ban

包简介

Laravel Ban

README 文档

README

Latest Stable Version Total Downloads License Build Status codecov Maintainability

Requirements

  • PHP >= 8.1
  • Laravel ~10.x

Installation

composer require stylers/laravel-ban

You can publish the migration

php artisan vendor:publish --provider="Stylers\LaravelBan\Providers\BanServiceProvider"

After the migration has been published, you can run the migrations

php artisan migrate

Usage

  • How to add User to Bannable
use Stylers\LaravelBan\Contracts\Models\Traits\BannableInterface;
use Stylers\LaravelBan\Models\Traits\Bannable;

class User extends Authenticatable implements BannableInterface
{
    use Notifiable;
    use Bannable;
}

Ban

use Carbon\Carbon;

$user = User::first();

$comment = "Reason of ban."; // ?string
$startAt = Carbon::addWeek(); // ?DateTimeInterface
$endAt = Carbon::now()->addWeeks(2); // ?DateTimeInterface

$ban = $user->ban(); // Ban without comment and timestamps (start_at, end_at) - never expire
$ban = $user->ban($comment, null, $endAt); // Ban for 2 weeks with comment
$ban = $user->ban($comment); // Ban without expire
$ban = $user->ban($comment, $startAt, $endAt); // Ban for a week with comment from next week

Unban

Remove active bans

$user = User::first();
$unbans = $user->unban();

Events

use Stylers\LaravelBan\Events\Banned;
use Stylers\LaravelBan\Events\Unbanned;

Middleware for User

  • Update $routeMiddleware in App\Http\Kernel.php
use Stylers\LaravelBan\Http\Middleware\CheckUserBan;

protected $routeMiddleware = [
    ...
    'check_user_ban' => CheckUserBan::class,
];
  • Update your routes in routes/ or App\Providers\RouteServiceProvider
protected function mapWebRoutes()
{
    Route::middleware('web', 'check_user_ban')
         ->namespace($this->namespace)
         ->group(base_path('routes/web.php'));
}

统计信息

  • 总下载量: 2.77k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 4
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-08-22