Cookies und Sessions unter Symfony 2

Wer als PHP Entwickler Daten über seine Benutzer zwischen speichern möchte wählt in aller Regel dafür Sessions oder Cookies. Der übliche Weg dafür ist session_start sowie setCookie. Wer das erste mal mit Symfony arbeitet und diesen Weg beschreitet wird vor einigen Problemen stehen, denn beide Varianten funktionieren so nicht unter Symfony.

Symfony liefert jedoch von sich aus zwei sehr gute Möglichkeiten Daten über den Benutzer (egal ob real Person, Bot oder Web Service) mittels eines eigenem Session Systems.

Sessionmanagement.

Um eine einen einfachen String in ein Session Objekt zu speichern geht man unter Symfony 2 folgendermaßen vor:

Sollte das Attribut nicht existieren, wird die funktion false zurückgeben

Eine Möglichkeit um eine Mehrsprachigkeit zu realisieren würde die festlegung der Sprache wie folgend aussehen:

Um herauszufinden ob ein Request schon eine begonnene Session hat geht man folgendermaßen vor:

Weiterführende Informationen über das Request Objekt findet man hier und über das Session Objekt  hier.

Cookiemanagement

Cookies zu verwenden ist ein bischen aufwendiger, hat aber natürlich auch mehr Möglichkeiten. Beispielsweise ist sogar eine Verkettung möglich, um den Wert oder den Namen eines Cookies auf eine Variable verknüpfen.

 

Cookies löschen geht über die clearCookie() Methode.

 

Weiterführende Informationen bekommt man wie immer über die sehr gute  Symfony 2 Dokumentation.

Original dieses Tutorials:

Manage Cookies And Sessions In Symfony2 von Julien le Coupanec