1.命令创建:
php think make:middleware Check
如果文件不存在,则手动创建 app\middleware\Check.php
中间件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)
{
echo 'middleware';
return $next($request);
}
}
2:中间件调用
1:某条路由调用 admin/route/route.php
<?php
use think\facade\Route;
Route::get('/test', 'admin/index/test')->middleware(\app\middleware\Check::class);
2:某应用调用 /app/admin/middleware.php
<?php
// 这是系统自动生成的middleware定义文件
return [
app\middleware\Check::class,
];
.3:全局调用 /config/middleware.php 加上以下代码
'middleware' => [
app\middleware\Check::class,
],
3:中间件别名
1.config/middleware.php定义别名
<?php
// 中间件配置
return [
// 别名或分组
'alias' => [
'ccheck' => app\middleware\Check::class,
],
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行
'priority' => [],
];
2.应用调用别名 app\admin\middleware.php
<?php
// 这是系统自动生成的middleware定义文件
return [
'ccheck',
];
应用场景:
访问日志,登录检测,ip黑名单,SQL注入,