У меня возникли проблемы с использованием $this
.
У меня есть контроллер:
class UserController {
public function show() {
// prepare $array from database
if ok
return Response::toJson($array);
else
return Response::respondWithError("errorMessage");
}
}
и класс Response:
class Response
{
private function respond($array)
{
//do som
}
public function toJson($array)
{
// do som
$this->respond($array);
}
public function respondWithError($message)
{
// do som
$this->respond($array);
}
}
И я получаю ошибку:
Call to undefined method UserController::respond()
Почему $this
не ссылается на класс Response но UserController? И как я могу назвать метод respond()
от foo()
?
вы звоните 'Response :: Foo' статически, а затем' $ this- > response(); 'пытается получить доступ к методу экземпляра' Response'. – AbraCadaver
Так что я должен вернуть Response :: ответить()? – redgiun
Непонятно, что вы делаете, но вы можете 'return self :: reply();' – AbraCadaver