中间件
$ php artisan make:middleware LoginMiddleware
Middleware created successfully.
$ vi app/Http/Middleware/LoginMiddleware.php
public function handle($request, Closure $next)
{
if(session('id')){
return $next($request);
}else{
return redirect('/login');
}
}
$ vi app/Http/Kernel.php
protected $routeMiddleware = [
。
。
。
'login' => \App\Http\Middleware\LoginMiddleware::class,
];
$ vi routes/web.php
//比如更新的用户,只有登录才可以使用,就可以这么设置
Route::get('/update', function(){
})->middleware('login');
全局中间件
记录请求路径
这里是的设置
Route::get('/login', function(){
return 'login page';
});
$ php artisan make:middleware RecordMiddleware
$ vi app/Http/Middleware/RecordMiddleware.php
public function handle($request, Closure $next)
{
//记录每一个请求的 请求路径 request.log当中
//客户请求一个网站,网站要把客户请求的路径获取到
//并存储到一个名为request.log的文件中
//1 获取路径
$path = $request->path();
file_put_contents('./request.log', $path."\r\n", FILE_APPEND);
return $next($request);
}
//或者
$path = $request->ip().$request->get('name');
$ vi app/Http/Kernel.php
protected $middleware = [
。。。
\App\Http\Middleware\RecordMiddleware::class,
];
软后运行
http://weibo.test/login
再然后在
$ vi public/request.log
中,查看记录
public function handle($request, Closure $next)
{
//记录每一个请求的 请求路径 request.log当中
//客户请求一个网站,网站要把客户请求的路径获取到
//并存储到一个名为request.log的文件中
//1 获取路径
$path = $request->get('name');
file_put_contents('./request.log', $path."\r\n", FILE_APPEND);
return $next($request);
}
然后浏览器输入
http://weibo.test/login?name=yaotong
然后
$ vi public/request.log
会看到, yaotong