Reputation: 1966
I am trying to access the query string parameters in Symfony 4
namespace App\Controller;
use Symfony\Component\HttpFoundation\RequestStack;
class Home extends Controller {
private $request;
public function __construct(RequestStack $request){
$this->request = $request;
}
public function getQueryString(){
$req = $this->request->getCurrentRequest();
print_r($req); // see all the request data
// $req -> grab the query parameters
// return query parameters
}
}
I am using RequestStack
and able to see a bunch of request data when I print the result of getCurrentRequest()
(including the query parameters I need), but most of the methods are private
and I am not able to access them.
How does one go about getting the request URL components (including query parameters) in Symfony?
Upvotes: 4
Views: 15137
Reputation: 375
This works with Symfony 6:
GET
$value = $request->query->get('name_query');
POST
$value = $request->request->get('name_query');
BODY (REST API returns JSON response inside body)
$value = $request->getContent();
HEADER
$value = $request->headers->get('X-header-name');
Upvotes: 2
Reputation: 2943
// retrieves $_GET and $_POST variables respectively
$request->query->get('id');
$request->request->get('category', 'default category');
Source https://symfony.com/doc/4.3/introduction/http_fundamentals.html#symfony-request-object
Upvotes: 3
Reputation: 2654
For GET query:
$this->request->getCurrentRequest()->query->get('name_query');
For POST query:
$this->request->getCurrentRequest()->request->get('name_query');
Upvotes: 7