我正在使用 Laravel 5.2 创建一个公共(public) API。为了保持 Controller 中的代码简短,我创建了几个帮助函数,其中一个是返回对 API 调用的响应的函数,如下所示:
if (! function_exists('buildResponse'))
{
function buildResponse($data)
{
return response()->json($data)->header('foo', 'bar');
}
}
这就是我从 Controller 调用它的方式:
public function registration()
{
buildResponse(['a' => 'Success']);
}
但是,这不起作用。仅当我添加
return
时才有效在函数前面。public function registration()
{
return buildResponse(['a' => 'Success']);
}
有人可能会说:“好的,那么只需包含
return
!”。问题是,这个特定的函数将被另一个辅助函数调用,例如:if (! function_exists('throwResponseCode'))
{
/**
* Throws a response code to the client.
* @param $code
* @return mixed
*/
function throwResponseCode($code)
{
switch ($code) {
case '101':
$data[$code] = 'Unable to establish a database connection';
return buildResponse($data);
// Other cases here
}
}
}
有什么方法可以从辅助函数向客户端发送响应?
最佳答案
留着简单 兄弟!
更改
return response()->json($data)->header('foo', 'bar');
至
return response()->json($data)->header('foo', 'bar')->send();
关于php - Laravel - 从助手返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39162347/