Я просто установил тонкий композитор, и я пытаюсь создать простой REST API.Slim 3 Framework - Fatal Error on setStatus
Мой текущий код выглядит следующим образом:
require 'vendor/autoload.php';
$app = new \Slim\App();
$app->get('/getPoiInitialList', function ($request, $response, $args) {
//$app = \Slim\Slim::getInstance();
$app = new \Slim\App();
try
{
$db = getDB();
$sth = $db->prepare("SELECT * FROM wikivoyage_pois LIMIT 50");
$sth->execute();
$poiList = $sth->fetchAll(PDO::FETCH_OBJ);
if($poiList) {
$app->response->setStatus(200);
$app->response()->headers->set('Content-Type', 'application/json');
echo json_encode($poiList);
$db = null;
} else {
throw new PDOException('No records found.');
}
} catch(PDOException $e) {
$app->response()->setStatus(404);
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
});
// Run app
$app->run();
У меня были некоторые Слим не нашли ошибки, которые я был в состоянии пройти, но теперь я получаю следующее сообщение Fatal Error и извещение, когда я пытаюсь получить доступ к конечной точки в моем браузере:
Notice: Undefined property: Slim\App::$response in C:\xampp\htdocs\api\index.php on line 47 - the first setStatus
и
Fatal error: Call to a member function setStatus() on null in C:\xampp\htdocs\api\index.php on line 47
на одной и той же линии. Любая идея о том, что здесь может быть неправильным?
С вашего кода, я ликвидировал Обратите внимание, но я все еще получаю Фатальная ошибка: Вызов undefined method Slim \ Http \ Response :: setStatus(). –
Клаудио, пожалуйста, измените код $ app-> response() -> setStatus (404); $ app-> response-> setStatus (404); –
http://docs.slimframework.com/response/status/ –