How to Retrieve the Request from the Service Container
Warning: You are browsing the documentation for Symfony 4.x, which is no longer maintained.
Read the updated version of this page for Symfony 7.2 (the current stable version).
Whenever you need to access the current request in a service, you can either
add it as an argument to the methods that need the request or inject the
request_stack
service and access the Request
by calling the
getCurrentRequest()
method:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// src/Newsletter/NewsletterManager.php
namespace App\Newsletter;
use Symfony\Component\HttpFoundation\RequestStack;
class NewsletterManager
{
protected $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function anyMethod()
{
$request = $this->requestStack->getCurrentRequest();
// ... do something with the request
}
// ...
}
Now, inject the request_stack
, which behaves like any normal service.
If you're using the default services.yaml configuration,
this will happen automatically via autowiring.
Tip
In a controller you can get the Request
object by having it passed in as an
argument to your action method. See Controller for
details.