Ich suchte, aber ich habe keine Antwort gefunden. Ich habe eine RESTful-API, um eine grundlegende CRUD zu verwalten. Ich versuche, eine Update-Methode mit PUT zu erstellen, aber ich kann die Params-Werte nicht abrufen. Ich verwende Postman, um die Anfragen zu machen, meine Anfrage wie folgt aussieht:Get PUT Params mit Slim PHP
URL
http://localhost/api/update/987654321
Params
id = 987654321
name = John Smith
age = 35
PHP
$app = new Slim();
$app->put('/update/:id', function($id) use($app){
var_dump([
'id' => $id,
'name' => $app->request->put('name'),
'age' => $app->request->put('age')
]);
});
Mein var_dump()
Ergebnis ist:
array(3) {
["id"]=>
string(9) "987654321"
["name"]=>
NULL
["age"]=>
NULL
}
Was ist falsch? Irgendeine Idee?
Kasse das Handbuch verwenden versuchen http://docs.slimframework.com/#Request-Body wenn scrollen Sie nach unten zum Bereich Anforderungsvariablen, dort ist ein Beispiel. Alternativ können Sie die Parameter direkt aus dem Körper nehmen und in var einfügen, indem Sie 'parse_str (file_get_contents (" php: // input "), $ post_vars);' – mic
Ich möchte Bilder in diese Anfrage hochladen. '' '' POST''' zu aktualisieren ist eine schlechte Praxis? – bodruk
Entschuldigung mein Kommentar war nicht über 'POST' Daten, ich kopierte den Code von einer anderen Seite. Allerdings werden die PUT-Daten im Hauptteil der Anfrage wie bei allen anderen Anfragetypen außer GET gesetzt (obwohl Sie möglicherweise eine Body-Zeichenfolge an eine GET-Anfrage anhängen können, ich habe es noch nie versucht). Sie könnten 'parse_str ($ app-> request-> getBody(), $ vars);' machen und einen var_dump ausführen, um Ihre Daten zu sehen. – mic