如何将自定义方法添加到 Lumen 的响应类
Posted
技术标签:
【中文标题】如何将自定义方法添加到 Lumen 的响应类【英文标题】:How to add custom method to Lumen's response class 【发布时间】:2018-10-24 22:25:20 【问题描述】:我正在使用响应方法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', ....);
【问题讨论】:
【参考方案1】:响应是可宏的,因此您可以将其添加到服务提供者:
\Illuminate\Http\Response::macro('customMethod', function ()
//Method body
return $this; //To chain it
);
注意: 我倾向于避免这种情况,因为它让我的 IDE 很难进行类型提示。
如果问题在于需要一遍又一遍地传递相同的数据,您也可以考虑sharing data with all views
【讨论】:
对于 Lumen 5.7,电话是\Laravel\Lumen\Http\ResponseFactory::macro
以上是关于如何将自定义方法添加到 Lumen 的响应类的主要内容,如果未能解决你的问题,请参考以下文章
在使用 Hive 进行颤振时,您如何将自定义对象从 POST 响应正文添加到框?
身份服务器 - 将自定义参数添加到来自令牌端点的 JSON 响应