New in Symfony 5.3: Session Service Deprecation

Contributed by Jérémy Derussé in #38616.

In Symfony applications you can access the session via the session service or its SessionInterface autowiring alias. This is convenient, but it’s technically wrong for some reasons:

Session is a data object (e.g. like the Request object) so there shouldn’t be a service defined for it in the container; Sessions are not part of the HTTP specification (either HTTP/1.1, HTTP/2 or HTTP/3) because HTTP is stateless. That’s why it feels odd to handle sessions as part of the HttpFoundation component.

That’s why, many years after it was first proposed, we’re deprecating the session service in Symfony 5.3 and we’ll remove it in Symfony 6.0. Instead of injecting that session service you now have to inject the RequestStack service and use the new getSession() method: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19use Symfony\Component\HttpFoundation\RequestStack;

class SomeService { private $requestStack;

public function __construct(RequestStack $requestStack)
{
    $this->requestStack = $requestStack;
}

public function someMethod()
{
    $session = $this->requestStack->getSession();
    // ... do something with the session
}

// ...

}

                Sponsor the Symfony project.

http://feedproxy.google.com/~r/symfony/blog/~3/OqWZSGvz3z4/new-in-symfony-5-3-session-service-deprecation

Created 4y | May 5, 2021, 7:20:07 AM


Login to add comment

Other posts in this group

SymfonyLive Paris 2025 : Rôles & permissions : développez une marque blanche avec du Feature Flipping

SymfonyLive Paris 2025, conference in French language only, will take place from March 27 to 28! The schedule is currently being revealed as we go along. More details are available here.

Al

Jan 23, 2025, 4:50:03 PM | Symfony
SymfonyLive Berlin 2025: So you think you know PHPUnit

SymfonyLive Berlin 2025, conference held in English, will take place from April 1 to 4! The schedule is being revealed gradually. More details are available here.

First, a big thank you to

Jan 22, 2025, 8:20:10 AM | Symfony
SymfonyLive Paris 2025 : Passkeys pour une authentification fluide et sécurisée

SymfonyLive Paris 2025, conference in French language only, will take place from March 27 to 28! The schedule is currently being revealed as we go along. More details are available here.

To

Jan 21, 2025, 11:30:10 AM | Symfony
Join us for SymfonyDay Chicago – March 17, 2025!

Mark your calendars for March 17, 2025 because SymfonyDay Chicago 2025 promises to be a one-of-a-kind event that you won’t want to miss! This full day is dedicated to celebrating the incredible contri

Jan 20, 2025, 7:20:03 PM | Symfony
A Week of Symfony #942 (13-19 January 2025)

This week, Symfony celebrated the SymfonyOnline January 2025 conference. In addition, it announced the new Symfony UX Core Team. Lastly, the upcoming Symfony 7.3 version simplified the configuration o

Jan 19, 2025, 8:30:08 AM | Symfony
Announcing the Symfony UX Core Team

The Symfony UX initiative was announced in December 2020. It was introduced to enhance the developer experience by integrating JavaScript tools and libraries more seamlessly with Symfony applications,

Jan 13, 2025, 3:40:04 PM | Symfony
A Week of Symfony #941 (6-12 January 2025)

This week, Symfony development activity was very intense. The upcoming Symfony 7.3 version added a Slug constraint, introduced support for union types in OptionsResolver, enabled using HTTP/3 with the

Jan 12, 2025, 9:30:12 AM | Symfony