1

我正在使用响应方法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', ....);
4

1 回答 1

2

响应是可宏的,因此您可以将其添加到服务提供者:

\Illuminate\Http\Response::macro('customMethod', function () { 
      //Method body
      return $this; //To chain it
}); 

注意:我倾向于避免这种情况,因为它让我的 IDE 很难使用 type-hinting 。

如果问题在于需要一遍又一遍地传递相同的数据,您还可以考虑与所有视图共享数据

于 2018-05-15T07:33:44.830 回答