Php Laravel 5.4:Class';App\Http\Controllers\Response';未找到错误
我正在学习Laracast的API教程,并尝试创建一个所有其他控制器都可以扩展的Php Laravel 5.4:Class';App\Http\Controllers\Response';未找到错误,php,laravel,rest,laravel-5,Php,Laravel,Rest,Laravel 5,我正在学习Laracast的API教程,并尝试创建一个所有其他控制器都可以扩展的ApicControllerApiController负责响应处理 class ApiController extends Controller { protected $statusCode; public function getStatusCode() { return $this->statusCode; } public function s
ApicController
<代码>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);
}
}
当我试图从ReportController
调用respondNotFound
方法时,我得到
未找到类“App\Http\Controllers\Response”错误
即使我添加使用light\Support\Facades\Response代码>到父类或子类我得到错误。我怎样才能解决这个问题
如果您有任何帮助,我们将不胜感激。因为这是一个门面,请添加以下内容:
use Response;
或使用完整命名空间:
return \Response::json(...);
或者只使用帮助器:
return response()->json(...);
尝试使用响应代码>取而代之。或者response()
helper-returnresponse()->json(…)
。似乎用于导入类响应的命名空间不正确。使用正确的语句。use语句是每个文件的,即使它们包含在父类中,也必须将它们包含在子类中。在子类中添加facade use语句,或者在文件顶部使用\Response
将use语句放在何处。在名称空间
声明之后。@tartartar在使用响应
的文件顶部,在之后是的,但我的意思是对父级或子级或两者都是?这是一个完全不同的问题,你会说“上面的解决方案都不管用,都试过了”真让人沮丧没有注意到他们确实解决了您描述的错误消息。