中间件
php中的中间件和java中的过滤器是一个道理,通过对请求的拦截满足我们的需要。
比如有的时候我们需要实现必须先登录才能进入某系统主页面,就用到了这个功能。
首先先生成中间件
单应用和多应用同理
`php think make:middleware Check` 会在app/(admin/) middleware目录下生成一个Check中间件
在Check.php中写下所需要的操作
<?php
declare (strict_types = 1);
namespace app\middleware;
class Check
{
/**
* 处理请求
*
* @param \think\Request $request
* @param \Closure $next
* @return Response
*/
public function handle($request, \Closure $next)
{
if(!str_starts_with($request->baseUrl(),'/login/index')){
return redirect("login/index");
}
return $next($request);
}
}
在middleware.php中
<?php
return[
...
\app\middleware\Check::class
]