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值