如何将自定义方法添加到 Lumen 的响应类



我正在使用响应方法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 在类型提示方面非常困难。

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

最新更新