多应用下的中间件 (该应用下是全局)
- 在应用目录下新建一个 middleware 它下放中间件类的方法 比如建一个Check.php
<?php
// 这是全局中间件
namespace app\api\middleware;
class Check
{
public function handle($request, \Closure $next)
{
$request->type = 'dufu';
return $next($request);
}
/**
* @description: 中间件结束调度
* @param {Response} $response
* @return {*}
*/
public function end(\think\Response $response)
{
# code...
}
}
<?php
// 这是单独设置的中间件
namespace app\api\middleware;
class App
{
public function handle($request, \Closure $next)
{
$request->type = 'libai';
return $next($request);
}
/**
* @description: 中间件结束调度
* @param {Response} $response
* @return {*}
*/
public function end(\think\Response $response)
{
# code...
}
}
- 在应用目录下建一个middleware.php
- 定义新建的中间文件(这里的中间并非是全局,是该应用下全局)
<?php
// 全局中间件定义文件
return [
\app\api\middleware\Check::class,
];
也可以单独某个类下单独使用中间件 (配合路由)
路由是应用下新建route 下新建一个php文件
<?php
use think\facade\Route;
// 注意 middleware(\app\api\middleware\App::class)这单独定义了 就不用在middleware.php里面定义
Route::rule('hello', 'detai l/detail','GET')->middleware(\app\api\middleware\App::class);
- 单独使用中间件大于全局的中间