Laravel中的中间件的作用是什么:
在路由上面加了一层保护和过滤,这就是中间件。
中间件的创建和使用:
- Kernel处的中间件添加
- php artisan方式的中间件创建
- routes文件的中间件添加使用
Laravel中间件代码如下
Kernel.php处的中间件添加:
protected $routeMiddleware = [
'admin.login' => \App\Http\Middleware\AdminLogin::class, //新建中间件
];
php artisan方式创建中间件:
php artisan make:middleware AdminLogin
routes.php中间件的使用如下:
`Route::group(['middleware' => ['web','admin.login']],function(){
Route::get('/', function () {
// session(['key' => 123]);
return view('welcome');
});
TIPS:如何确定自己创建的中间件是否生效?
上文中提到,中间件是路由上的一层过滤和保护,那么它的执行顺序肯定在前,因此:在已经用命令行创建的AdminLogin中间件中,echo处一段字符串,来验证。
<?php
namespace App\Http\Middleware;
use Closure;
class AdminLogin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
echo 'middle AdminLogin'.'<br />';
//echo为验证的代码片段,经验证,浏览器有middle AdminLogin输出
return $next($request);
}
}