我正在使用响应方法withHeaders()
:
return response(view('pages.top.index', compact('data')))->withHeaders(['one-param' => 'data', 'second-param' => 'data2' ...);
而且我有多个相同的参数,我几乎在每个控制器的操作中都放入withHeaders()
方法中。有没有办法添加自己的方法并将其链接起来,如下所示:
return response(view('pages.top.index', compact('data')))->customMethod('data', 'data2', ....);
响应是可宏的,因此您可以将以下内容添加到服务提供商:
IlluminateHttpResponse::macro('customMethod', function () {
//Method body
return $this; //To chain it
});
注意: 我倾向于避免这种情况,因为它让我的 IDE 在类型提示方面非常困难。
如果问题是需要一遍又一遍地传递相同的数据,您还可以考虑与所有视图共享数据