我正在使用Laravel构建API。我想将数据传递给基本控制器中的函数,并从那里通过Response :: json()提供JSON(原因是响应方法执行基准测试和日志记录等)
这有效:
<?php
public function show($id)
{
$data = Member::find($id);
return Response::json($data);
}
这不是:
<?php
public function show($id)
{
$data = Member::find($id);
$this->respond($data);
}
private function respond($data)
{
return Response::json($data);
}
有谁能告诉我为什么Response:json()不喜欢被弹出另一个函数?
如果我echo Response::json($data)
而不是return
,则会输出完整的回复,包括标题。
所有输入都赞赏。感谢。
答案 0 :(得分:7)
正如cecilozaur评论的那样,也许你需要:
return $this->respond($data);
这样响应实际上会返回到父函数。