tp6 多应用容器引入Request方法传递参数在控制器里


我本来是在主题里面的api新建了个中间件,然后中间件里的参数不能传递给控制器,后来才发现多应用里的容器不能执行,换成app里的就可以,才发现多应用里的容器think\Request的问题,缺少了个斜杠,切记不能复制粘贴啊~~~

<?php

#在app\api里面下穿件provider.php

#api就是你多主题的文件然后不要复制app里面的弄成一模一样,这样就不会执行里面的request应用请求

#多应用引入需要写成斜杆(\),

use app\api\ExceptionHandle;
use app\api\Request;

// 容器Provider定义文件
return [
'\think\Request' => Request::class,
'\think\exception\Handle' => ExceptionHandle::class,
];

 

<?php

//middleware中间件代码

declare(strict_types = 1);
namespace app\api\middleware;
use think\Response;

// 判断接口是否传递参数过来
class Auth
{

  public function handle($request,\Closure $next){

    if($request->param("name")){
      $request->cate_name = $request->param("name");
    }
    $response = $next($request);
    return $response;
  }

}

 

 

<?php

控制器里

 

public function index(){

request()->cate_name //输出name值

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM