Laravel 通过依赖注入的方式获取的 Request 实例, 与函数的方式 request ( ) 有什么不同
class UserController extends Controller
{
public function store(Request $request)
{
$request->merge([
'aa' => 999
]);
request()->merge([
'bb' => 999
]);
dump($request->all());
dump(request()->all());
}
}
打印结果:
{
"aa": 999,
"bb": 999
}
{
"aa": 999,
"bb": 999
}
可能前面那种,看上去更的 “面向对象” 一点吧,,,
没什么不一样,
request()
方法只是一个辅助函数罢了,我比较喜欢这一种😂其实是一样的.
是一样的。
题主可以深入看一下 Laravel 的代码
解析 controller method 的函数,
可以看到,最后是调用了容器的 make 方法来解析依赖
再看看 request() 方法,


最后也是调用了容器的 make 方法来解析依赖,
所以是一样的。