我遵循Laracast的API教程并尝试创建所有其他控制器扩展的ApiController
。 ApiController
负责响应处理。Laravel 5.4:找不到类'App Http Controllers Response'错误
class ApiController extends Controller
{
protected $statusCode;
public function getStatusCode()
{
return $this->statusCode;
}
public function setStatusCode($statusCode)
{
$this->statusCode = $statusCode;
}
public function respondNotFound($message = 'Not Found!')
{
return Reponse::json([
'error' => [
'message' => $message,
'status_code' => $this->getStatusCode()
]
]);
}
}
,我也有一个扩展ApiController
一个ReportController
。
class ReportController extends ApiController
{
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$report = Report::find($id);
if (! $report) {
$this->respondNotFound(Report does not exist.');
}
return Response::json([
'data'=> $this->ReportTransformer->transform($report)
], 200);
}
}
当我试图从ReportController
调用respondNotFound
方法,我得到
级 '应用程序\ HTTP \控制器\响应' 未找到错误
eventhough我添加use Illuminate\Support\Facades\Response;
母公司或孩子班我得到错误。我怎样才能解决这个问题 ?
任何帮助,将不胜感激。
尝试'使用响应;'来代替。或者'response()'helper - 'return response() - > json(...);'。 – ceejayoz
似乎您用来导入类“响应”的名称空间不正确。使用正确的。 – Mojtaba
使用语句是每个文件,即使它们包含在父级中,您仍然必须将它们包括在子类中。要么在子类中添加facade使用语句,要么使用'\ Response' – jfadich