Wie kann ich überprüfen, ob die Anfrage eine POST- oder GET-Anfrage in Symfony2 oder Symfony3 war?
Ich habe nur gefragt, wenn es gibt eine sehr einfache Weg (am besten: eine einfache $this->container->isGet()
ich anrufen kann), um zu bestimmen, ob die Anforderung eine $_POST
oder eine $_GET
Anfrage.
Laut der docs,
Objekts ein Anfrage-Objekt enthält Informationen über den client-Anfrage. Diese
Informationen kann zugegriffen werden über mehrere öffentliche Eigenschaften:
request
: entspricht der$_POST
;query
: entspricht der$_GET
($request->query->get('name')
);
Aber ich werde nicht in der Lage sein zu verwenden if($request->request)
oder if($request->query)
zu überprüfen, denn beide sind vorhandenen Attribute in die Anfrage-Klasse.
So Frage ich mich, von Symfony bietet so etwas wie die
$this->container->isGet();
//or isQuery() or isPost() or isRequest();
oben erwähnt?
Kommentar zu dem Problem
das können Sie gerne tun $request->get('name').was auch immer request-Methode ist post-oder get..wenn u wirklich wollen, um zu bestimmen, request-Methode Sie können eine "Voraussetzungen: [_method: POST/GET/LÖSCHEN....]"
Du meinst hinzufügen dieser Zeile in der routing-config? I-do-check-restrict-Methoden gibt es und ich möchte nun ermitteln Sie in der controller.
wenn u überprüfen Sie beschränken Methoden, in die route ein,dann verwenden Sie einfach $request->get('name') im controller,das ist genug
Ich bin mit einem controller, beide behandeln-Methoden, z.B. wie in Formularen (wo können Sie
$Formular->isSubmitted()
, um dies zu überprüfen. Aber in meinem Fall, die ich nicht haben/verwenden Sie ein Formular. InformationsquelleAutor der Frage Gottlieb Notschnabel | 2014-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, um es in den controller,
oder in Ihrem Modell (service), injizieren, oder übergeben Sie die Request-Objekt an das erste Modell, dann das gleiche wie oben.
Bearbeiten: für Symfony 3 verwenden Sie diesen code
InformationsquelleAutor der Antwort Nighon
Oder so:
InformationsquelleAutor der Antwort timhc22
Da die Antwort vorgeschlagen, um zu verwenden
getRequest()
die ist jetzt veraltet,Sie können es durch diese:
InformationsquelleAutor der Antwort Matheno
Oder so:
InformationsquelleAutor der Antwort Azoel
Könnten Sie tun:
Lies einfach ein bisschen über Anfrage Objekt auf Symfony API Seite.
InformationsquelleAutor der Antwort HelpNeeder