Laravel 5.4 より前では、ミドルウェアを使用してジャンプ関数を実装できました。ただし、Laravel 5.4 ミドルウェアの実装方法は異なります。この記事では、Laravel 5.4 でミドルウェア ジャンプを実装する方法について説明します。
1. Laravel 5.4 でミドルウェア ジャンプを実装する
Laravel 5.4 では、redirect() 関数と with() 関数を使用してミドルウェア ジャンプを実装できます。例を見てみましょう:
app/Http/Middleware ディレクトリに、次の内容を含む LogMiddleware.php ファイルを作成します。
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Log; class LogMiddleware { public function handle($request, Closure $next) { Log::info('LogMiddleware'); return $next($request); } }
上記のコードは、LogMiddleware という名前のミドルウェアを作成し、ハンドル関数にログを記録します。
app/Http/Middleware ディレクトリに、次の内容を含む AuthMiddleware.php ファイルを作成します:
<?php namespace App\Http\Middleware; use Closure; class AuthMiddleware { public function handle($request, Closure $next) { if (!auth()->check()) { return redirect('/login')->with('error', '请先登录!'); } return $next($request); } }
Aboveこのコードは、AuthMiddleware という名前のミドルウェアを作成し、ハンドル関数でユーザーがログインしているかどうかを判断し、ログインしていない場合はログイン ページにジャンプし、エラー情報をセッションに保存します。
routes/web.php ファイルにルートとミドルウェアを登録します。コードは次のとおりです:
Route::get('/dashboard', function () { return view('dashboard'); })->middleware([LogMiddleware::class, AuthMiddleware::class]);
上記のコードは、ダッシュボードという名前のルートを作成します。ダッシュボード ルートでは、LogMiddleware および AuthMiddleware ミドルウェアが使用されます。
http://yourdomain/ダッシュボード ページに直接アクセスすると、自動的に http://yourdomain/login にジャンプします。セッションに保存されたエラー情報です。
2. 概要
Laravel 5.4 では、redirect() 関数と with() 関数を使用してミドルウェア ジャンプを実装できます。以上の手順でミドルウェアジャンプ機能を実装することができました。この記事があなたのお役に立てば幸いです!
以上がLaravel 5.4でミドルウェアジャンプを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。