TP6 中间件创建和使用
在ThinkPHP 6中创建和使用自定义中间件的步骤如下:
- 创建中间件类文件:在
application/middleware
目录下创建一个新的PHP类文件,例如CheckLogin.php
。 - 编写中间件类:
<?php
namespace app\middleware;
class CheckLogin
{
public function handle($request, \Closure $next)
{
// 中间件的逻辑,例如检查用户是否登录
// 如果用户未登录,可以直接返回响应或者进行重定向
// 如果用户已登录,则调用$next()继续请求处理
// 示例:假设检查用户是否登录的逻辑
$user = session('user');
if (!$user) {
return json(['code' => 401, 'msg' => '用户未登录']);
}
// 如果用户登录了,继续请求处理
return $next($request);
}
}
- 注册中间件:在
application/middleware.php
配置文件中注册刚刚创建的中间件。
// 在配置文件中注册中间件
return [
// 中间件注册
'middleware' => [
'check_login' => \app\middleware\CheckLogin::class
],
];
- 全局或路由组中使用中间件:
// 在路由定义中使用中间件
use think\facade\Route;
Route::group('admin', function(){
Route::get('dashboard', 'Admin/dashboard')->middleware('check_login');
})->middleware('check_login');
或者在全局中使用:
// 全局注册中间件
Route::middleware('check_login');
以上步骤创建了一个简单的中间件,用于检查用户是否登录,并在路由组或者全局注册使用了该中间件。在实际应用中,中间件可以用于身份验证、CSRF保护、日志记录等多种场景。
评论已关闭