🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **创建中间件** 在 application/http/middleware 目录下面一个User中间件。 ~~~ <?php namespace app\http\middleware; class User{ public function handle($request, \Closure $next){ return $next($request); } } ~~~ >[success] 在一些项目开发过程中. 也可能会使用到前置和后置的需求。 > 那么就可以将前置和后置中间件放在同一个文件了 ## **前置/后置中间件** ~~~ <?php namespace app\http\middleware; class User{ public function handle($request, \Closure $next){ //前置 添加中间件执行代码 Start echo '我是前置'; //前置 添加中间件执行代码 End $response = $next($request); //后置 添加中间件执行代码 Start echo '我是后置'; print_r( $response->getData() ); //获取控制器index()方法返回的数据 //后置 添加中间件执行代码 End return $response; } } ~~~ >[info] 调用也是比较简单的,这里只介绍用控制器的调用方法。 ## **控制器调用** ~~~ <?php namespace app\index\controller; class User{ //指定方法调用中间件 protected $middleware = [ '\app\http\middleware\User' => ['only' => ['index'] ], ]; public function index(){ echo 'index'; return ['code'=>1,'message'=>"处理成功"]; //返回数据到前端 中间件也可以获取 } } ~~~ ## **运行效果** ~~~ 我是前置 index 我是后置 Array ( [code] => 1 [message] => 处理成功 ) ['code'=>1,'msg'=>"处理成功"] ~~~