讨论数量:
get参数对应 $request->query 对象,post等对应 $request->request 对象,每个对象都有对应的 add 和 replace 方法
示例如果只是修改 post 参数,就修改 request 对象,示例代码
<?php
namespace App\Http\Middleware;
use Closure;
class ParameterToUpper
{
public function handle($request, Closure $next)
{
$parameters = [];
foreach($request->request->all() as $key => $value) {
$parameters[strtoupper($key)] = $value; //把key转为大写
}
$request->request->add($parameters); // 往 post参数中增加一个大写的key
// $request->request->replace($parameters);// 完全覆盖小写的key
dd($request->post('A'));//b
return $next($request);
}
}
此时传入一个小写 a 的参数 post 提交,打印 request->post()
同时存在小写的 a 和 大写的 A 参数
全修改的话是这样
$parameters = [];
foreach($request->all() as $key => $value) {
$parameters[strtoupper($key)] = $value;
}
$request->merge($parameters);
//$request->replace($parameters);
dd($request->input());
推荐文章: