CookieManager
Ab dem 1.9er Branch ist der
CookieManager verfügbar. Die Komponente
ermöglicht es - ähnlich dem
SessionManager - Cookies komfortabel zu verwalten.
Da die Implementierung von HTTP-Cookies keine Namespaces unterstützt wurde das Handling so
erweitert, dass Cookie-Werte in getrennten Namespaces verwaltet werden können.
Die folgende Code-Box zeigt ein Beispiel für die Verwendung des
CookieManagers:
PHP-Code
// include the CookieManager
import('tools::cookie','CookieManager');
// create the CookieManager and apply the desired namespace
$cM = new CookieManager('my::namespace');
// try to get the cookie value
$value = $cM->readCookie('key');
if($value !== null){
echo '
Cookie value: '.$value;
}
else{
$cM->createCookie('key','value');
echo '
Setting cookie...';
}
// delete cookie if dedired
if(/* ... */){
$cM->deleteCookie('key');
}
// update cookie if desired
if(/* .. */){
$cM->updateCookie('key','value_2');
}
// change namespace of the current instance
$cM->setNamespace('my::second::namespace');
Im obigen Beispiel werden Cookie-Domain und Cookie-Pfad selbständig ermittelt. Ist es notwenig,
diese innerhalb einer Applikation davon abweichend zu setzen, können diese den jeweiligen
Methoden als zusätzliche Parameter mitgegeben werden. Details dazu können der API-Dokumentation
entnommen werden.
Hinweis: Bitte beachten Sie, dass das Cookie-Handling nur bei Domains
ungleich
localhost funktioniert. Für die lokale Entwicklungsumgebung emfiehlt es sich
deshalb einen eigenständigen VHOST anzulegen.
Kommentare
Möchten Sie den Artikel eine Anmerkung hinzufügen, oder haben Sie ergänzende Hinweise? Dann können Sie diese
hier einfügen. Die bereits verfassten Anmerkungen und Kommentare finden Sie in der untenstehenden Liste.
Für diesen Artikel liegen aktuell keine Kommentare vor.