laravel を使い始めたばかりで、バニラphp
を移行して使用する際に大きな問題が発生しました。
私はmiddleware
<?php
namespace App\Http\Middleware;
use Closure;
use Session;
class QwickAuthCheck
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->session()->has('qwick')) {
//
return redirect('home');
}
return $next($request);
}
}
セッションが設定されているかどうかを確認しています。
home
私が持っているルートですroutes.php
Route::get('/', 'WebController@home')->name('home');
kernel.php
このように登録します。
protected $routeMiddleware = [
........
........
'qwickAuth' => \App\Http\Middleware\QwickAuthCheck::class,
];
今私はに適用しmiddleware
たい
Route::get('login', 'WebController@login');
これどうやってするの?
私が試してみました;
Route::get('login', ['middleware' => ['qwickAuth'], 'WebController@login');
Laravel のサイトには多くのドキュメントがありますが、何らかの理由ですべてのコードが、人々がこのフレームワークをどのように使用しているかのスニペットを提供していません。ミドルウェアのドキュメントでは、彼らが提供したのはこれだけでした。
Route::get('admin/profile', ['middleware' => 'auth', function () {
//
}]);
自分function
のルートに