Zend Framework - Çerez Yönetimi
Çerez, bir web uygulamasında çok önemli bir kavramdır. Kullanıcı verilerini, genellikle tarayıcının kendisinde sınırlı bir süre için küçük bir bilgi parçası olarak saklama seçeneği sunar.
Web uygulamasının durumunu korumak için bir Çerez kullanılır. Zend çerçevesi, içinde bir çerez modülü sağlar.zend-httpbileşen. Bu zend-http, HTTP soyutlamasını ve uygulanmasını sağlar.
HTTP Bileşenini Yükleme
HTTP bileşeni kullanılarak kolayca kurulabilir Composer aşağıdaki kodda belirtildiği gibi.
composer require zendframework/zend-http
Konsept
Zend-http, Zend\Http\Cookiestanımlama bilgilerini yönetmek için sınıf. İle birlikte kullanılırZend\Http\Clientbir web sunucusuna istek göndermek için kullanılan sınıf. Çerezler, aşağıdaki kodda gösterildiği gibi başlatılabilir -
use Zend\Http\Cookies
$c = new Cookies();
HTTP istemcisi (Zend \ Http \ Client) web sunucusuna ilk kez bir URI isteği gönderdiğinde, herhangi bir çerezi yoktur. Talep web sunucusu tarafından alındığında, çerezi yanıt nesnesineHTTP Header, Set-Cookieve bunu HTTP istemcisine gönderir. HTTP istemcisi tanımlama bilgisini http yanıtından çıkaracak ve sonraki istekte aynı HTTP Başlığı olarak yeniden gönderecektir. Genel olarak, her çerez bir etki alanına ve etki alanının yoluna eşlenir.
Mevcut yöntemler Cookies sınıf aşağıdaki gibidir -
addCookie(uri) - Verilen URI'nin istek nesnesine bir çerez eklemek için kullanılır.
getCookie(cookieName, $cookieForm) - Verilen URI'de bulunan $ cookieName çerezini almak için kullanılır, $uri. Üçüncü argüman, çerezin dize veya dizi olarak nasıl döndürüleceğidir.
fromResponse(uri) - Verilen URI'nin yanıt nesnesinden tanımlama bilgilerini çıkarmak için kullanılır.
addCookiesFromResponse - fromResponse ile aynıdır, ancak onu çıkarır ve verilen URI'nin istek nesnesine tekrar ekler.
isEmpty() - Verilmiş olup olmadığını bulmak için kullanılır. Cookie nesnenin herhangi bir çerezi var veya yok.
reset() - Verilen URI'deki tüm çerezleri temizlemek için kullanılır.
Bir sonraki bölümde, Zend Çerçevesinde oturum yönetimi ile ilgili tartışacağız.