生成中间件
命令行输入
php think make:middleware Check
在最末的控制层创建文件。middleware.php和mimiddleware文件夹
一定要在最后的控制层,否则不生效

定义中间件
<?php
// 全局中间件定义文件
return [
// 全局请求缓存
// \think\middleware\CheckRequestCache::class,
// 多语言加载
// \think\middleware\LoadLangPack::class,
// Session初始化
// \think\middleware\SessionInit::class
app\api\middleware\Cores::class,
/* app\api\middleware\Check::class,*/
];
在middleware目录创建Cores.php
<?php
namespace app\api\middleware;
class Cores
{
public function handle($request, \Closure $next)
{
$response = $next($request);
$origin = $request->header('Origin', '');
//OPTIONS请求返回204请求
if ($request->method(true) === 'OPTIONS') {
$response->code(204);
}
$response->header([
'Access-Control-Allow-Origin' => $origin,
'Access-Control-Allow-Methods' => 'GET,POST,PUT',
'Access-Control-Allow-Credentials' => 'true',
'Access-Control-Allow-Headers' => '*',
]);
return $response;
}
/*
* 中间结束调度
*/
}
本文详细介绍如何在ThinkPHP框架中使用命令行生成中间件,包括创建必要的文件和目录,定义中间件处理逻辑,以及如何在全局中间件定义文件中注册自定义中间件。文章还提供了中间件代码示例,展示如何处理跨域请求。
1797

被折叠的 条评论
为什么被折叠?



