Gibt es eine Möglichkeit, diese in einer Anweisung zu konsolidieren, die ein Array zurückgeben würde? Etwas wie getParams() von Zend?
Guillaume Flandern
Du kannst tun $this->getRequest()->query->all(); um alle GET-Parameter zu erhalten und $this->getRequest()->request->all(); um alle POST-Parameter zu erhalten.
Um Werte für Parameter im Pfad (z. B. /posts/{id}) zu erhalten, verwenden Sie $request->attributes->all(). Ich benutzte $request->get() Ich dachte, das sei der einzige Weg, an diese Daten zu kommen, und kam hierher, um nach einem anderen Weg zu suchen.
– Dren
13. Januar 2014 um 12:15 Uhr
Bei neueren Versionen von Symfony 2.6+ als Best Practice wird Request als Argument mit Aktion übergeben. In diesem Fall müssen Sie $this->getRequest() nicht explizit aufrufen, sondern $request->request->all() aufrufen.
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
use Symfony\Component\HttpFoundation\RedirectResponse;
class SampleController extends Controller
{
public function indexAction(Request $request) {
var_dump($request->request->all());
}
}
ckkaqa
Da Sie sich in einem Controller befinden, wird die Aktionsmethode mit a angegeben Request Parameter.
Mit können Sie auf alle POST-Daten zugreifen $request->request->all();. Dies gibt ein Schlüssel-Wert-Paar-Array zurück.
Bei der Verwendung von GET-Anfragen greifen Sie auf Daten zu $request->query->all();
Zum Symfony 3.4können Sie auf die Daten für beide zugreifen ERHALTEN und POSTSo was
Post:
$data = $this->request->request->all();
Erhalten:
$data = $this->request->query->all();
Nun, denken Sie daran, dass dies immer PHP ist, also könnten Sie einfach nach der superglobalen Variablen suchen $_REQUEST