Wistrix / laravel-onboard
Laravel 包,用于跟踪入门步骤。
v1.1.1
2024-04-28 19:39 UTC
Requires
- php: ^8.3
- laravel/framework: ^11.0
Requires (Dev)
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
README
安装
您可以通过 Composer 安装此包
composer require wistrix/laravel-onboard
用法
将 Wistrix\Onboard\Concerns\Onboardable 接口和 Wistrix\Onboard\Concerns\Onboard 特性添加到您需要的模型中。
... use Wistrix\Onboard\Concerns\Onboardable; use Wistrix\Onboard\Concerns\Onboard; ... class User extends Model implements Onboardable { use Onboard; ...
配置
您可以使用 Wistrix\Onboard\Facades\Onboard 门面来配置您的入门步骤。使用默认的 App\Providers\AppServiceProvider.php 或创建一个新的服务提供者。
... use App\Models\User; use Wistrix\Onboard\Facades\Onboard; ... class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. */ public function boot(): void { Onboard::register( model: User::class, route: 'onboarding.name', validate: fn (User $model) => ! empty($model->name) ); Onboard::register( model: User::class, route: 'onboarding.username', validate: fn (User $model) => ! empty($model->username) ); } }
中间件
创建一个新的中间件并扩展抽象类 Wistrix\Onboard\Middleware。
use Illuminate\Http\Request; use Wistrix\Onboard\Concerns\Onboardable; use Wistrix\Onboard\Middleware; class UserOnboarding extends Middleware { /** * Get the onboardable model. * * @param Request $request * @return Onboardable|null */ protected function uses(Request $request): ? Onboardable { return $request->user(); } }
默认路由
默认情况下,Wistrix\Onboard\Middleware 类定义了默认路由 home,如果入门完成且访问了步骤路由,则会重定向用户。这可以通过向您的中间件添加 defaultRoute 方法来自定义。
/** * Get the default route. * * @return string */ protected function defaultRoute(): string { return 'home'; }
忽略路由
您可以通过添加 ignoreRoutes 方法来定义要忽略的路由。如果您通过 bootstrap/app.php 配置注册了中间件并希望忽略例如 logout 路由,这将很有用。
/** * Get the ignore routes. * * @return array */ protected function ignoreRoutes(): array { return ['logout']; }
测试
composer test
变更日志
有关更多信息,请参阅CHANGELOG。
安全
如果您发现一个安全漏洞,请通过 GitHub 问题 提交。
许可
MIT 许可证 (MIT)。
有关更多信息,请参阅许可文件。