Ich habe gerade schlank durch Composer installiert und ich versuche, eine einfache REST API zu erstellen.Slim 3 Framework - Schwerwiegender Fehler auf setStatus
Mein aktueller Code ist folgende:
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();
ich einige dünne hatte nicht gefunden Fehler, die ich passieren konnte, aber jetzt bin ich die folgende Fatal Error und Hinweis bekommen, wenn ich versuche, die für den Zugriff auf Endpunkt in meinem Browser:
Notice: Undefined property: Slim\App::$response in C:\xampp\htdocs\api\index.php on line 47 - the first setStatus
und
Fatal error: Call to a member function setStatus() on null in C:\xampp\htdocs\api\index.php on line 47
auf der gleichen Linie. Irgendeine Idee, was hier falsch sein könnte?
mit Ihrem Code, eliminiert ich die Mitteilung, aber ich bin immer noch Fatal error bekommen: Rufen Sie an undefinierte Methode Slim \ Http \ Response :: setStatus(). –
Claudio, bitte, ändern Sie den Code $ app-> response() -> setStatus (404); zu $ app-> response-> setStatus (404); –
http://docs.slimframework.com/response/status/ –