Zend Framework - Quản lý cookie
Cookie là một khái niệm rất quan trọng trong một ứng dụng web. Nó cung cấp tùy chọn để duy trì dữ liệu của người dùng, thường là một phần thông tin nhỏ trong chính trình duyệt trong một khoảng thời gian giới hạn.
Cookie được sử dụng để duy trì trạng thái của ứng dụng web. Zend framework cung cấp một mô-đun cookie bên trongzend-httpthành phần. Zend-http này cung cấp sự trừu tượng hóa HTTP và việc triển khai nó.
Cài đặt thành phần HTTP
Thành phần HTTP có thể được cài đặt dễ dàng bằng cách sử dụng Composer như được chỉ định trong mã bên dưới.
composer require zendframework/zend-http
Ý tưởng
Zend-http cung cấp Zend\Http\Cookieslớp để quản lý cookie. Nó được sử dụng cùng vớiZend\Http\Client, được sử dụng để gửi yêu cầu đến máy chủ web. Cookie có thể được khởi tạo như trong đoạn mã dưới đây -
use Zend\Http\Cookies
$c = new Cookies();
Khi máy khách HTTP (Zend \ Http \ Client) lần đầu tiên gửi một yêu cầu URI đến máy chủ web, nó không có bất kỳ cookie nào. Khi máy chủ web nhận được yêu cầu, nó sẽ bao gồm cookie trong đối tượng phản hồi của nó dưới dạngHTTP Header, Set-Cookievà gửi nó đến máy khách HTTP. Máy khách HTTP sẽ trích xuất cookie từ phản hồi http và gửi lại nó dưới dạng Tiêu đề HTTP tương tự trong yêu cầu tiếp theo. Nói chung, mỗi cookie sẽ được ánh xạ tới một miền và một đường dẫn của miền.
Các phương pháp có sẵn trong Cookies lớp như sau -
addCookie(uri) - Nó được sử dụng để thêm cookie vào đối tượng yêu cầu của URI đã cho.
getCookie(cookieName, $cookieForm) - Nó được sử dụng để lấy cookie, $ cookieName có sẵn trong URI đã cho, $uri. Đối số thứ ba là cách cookie sẽ được trả về, chuỗi hoặc mảng.
fromResponse(uri) - Nó được sử dụng để trích xuất cookie từ đối tượng phản hồi của URI đã cho.
addCookiesFromResponse - Nó giống như fromResponse, nhưng nó trích xuất và thêm lại nó vào đối tượng yêu cầu của URI đã cho.
isEmpty() - Nó được sử dụng để tìm liệu Cookie đối tượng có bất kỳ cookie nào hay không.
reset() - Nó được sử dụng để xóa tất cả các cookie trong URI đã cho.
Trong chương tiếp theo, chúng ta sẽ thảo luận về quản lý phiên trong Zend Framework.