LaracastのAPIチュートリアルに従って、他のすべてのコントローラーが拡張するApiController
を作成しようとしています。 ApiController
は応答処理を担当します。
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()
]
]);
}
}
また、ReportController
を拡張するApiController
もあります。
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);
}
}
respondNotFound
からReportController
メソッドを呼び出そうとすると
クラス 'App\Http\Controllers\Response'エラーが見つかりません
use Illuminate\Support\Facades\Response;
を親または子クラスに追加しても、エラーが発生します。どうすれば修正できますか?
任意の助けをいただければ幸いです。
ファサードなので、これを追加します。
use Response;
または、完全な名前空間を使用します。
return \Response::json(...);
または単にヘルパーを使用します:
return response()->json(...);