Ein Cookie in HTTP (siehe RFC 2109 ), das einfach in der Anfrage gespeichert und bei jeder Anfrage gesendet wird Eine Antwort kann weitere Parameter hinzufügen, die zusätzlich zu den bereits vorhandenen Cookies gespeichert werden.
Also wird der Cookie retrieval über das Request
, bis update eines Cookies ausgeführt, das Sie mit Response
verwenden. Gemäß RFC 2109 verwenden Sie jeweils den Header Cookie
und den Header Set-Cookie
. Sie können also direkt über
Oder setzen Sie Cookies über:
%Vor%Die Dinge werden ein wenig einfacher gemacht, weil es bei der Anfrage und der Antwort einen Proxy gibt, um direkt auf den Cookie zuzugreifen:
%Vor% Beachten Sie, dass die Header Cookie
und Set-Cookie
das Objekt ArrayObject
implementieren. Um zu überprüfen, ob ein Cookie in der Anfrage vorhanden ist, können Sie offsetExists
:
/ update:
Wenn Sie Eigenschaften des Cookies ändern möchten, ändern Sie auch den Header Set-Cookie
. Werfen Sie einen Blick auf im Kurs auf Github für alle Methoden verfügbar.
Eine kleine Zusammenfassung:
%Vor% Der Cookie-Zugriff über $this->getResponse()->getCookie()
funktioniert, ist aber langatmig und ermüdend. Also, was ich getan habe, habe ich Antwort und Anfrage Klassen erweitert. Hier, wie es aussieht:
Modul / Anwendung / src / Anwendung / Mvc / Request / Factory.php
%Vor%Modul / Anwendung / src / Anwendung / Mvc / Request / HttpRequest.php
%Vor%Modul / Anwendung / src / Anwendung / Mvc / Antwort / Factory.php
%Vor%Modul / Anwendung / src / Anwendung / Mvc / Antwort / HttpResponse.php
%Vor%Ich genieße jetzt viel einfacheren Zugang zu Cookies.
%Vor%und
%Vor%Tags und Links zend-framework2