Zend Framework - Cookie 管理

  • 简述

    Cookie 是网络应用程序中一个非常重要的概念。它提供了在有限的时间内保留用户数据的选项,通常是浏览器本身中的一小段信息。
    Cookie 用于维护网络应用程序的状态。Zend Framework 在zend-http 组件内提供了一个 cookie 模块。zend-http 提供了 HTTP 抽象及其实现。
  • 安装 HTTP 组件

    HTTP 组件可以使用以下代码中指定的Composer轻松安装。
    
    composer require zendframework/zend-http 
    

    概念

    zend-http 提供了Zend\Http\Cookies类来管理“Cookie”。它与 Zend\Http\Client类一起使用,后者用于向 Web 服务器发送请求。Cookie 可以初始化,如下面的代码所示 -
    
    use Zend\Http\Cookies  
    $c = new Cookies(); 
    
    当 HTTP 客户端(Zend\Http\Client)首次向网络服务器发送 URI 请求时,它没有任何 Cookie。一旦网络服务器收到请求,它就会在其响应对象中包含 cookie 作为 HTTP 标头,Set-Cookie 并将其发送到 HTTP 客户端。HTTP 客户端将从 http 响应中提取 Cookie,并在后续请求中将其作为相同的 HTTP 标头重新发送。通常,每个 Cookie 都将映射到一个域和该域的路径。
    Cookies中可用的方法如下 -
    • addCookie(uri) − 它用于将一个cookie添加到给定 URI 的请求对象中。
    • getCookie(cookieName, $cookieForm) − 它用于获取给定 URI 中可用的$cookieName。第三个参数是如何返回 cookie(字符串或数组)。
    • fromResponse(uri) − 它用于从给定 URI 的响应对象中提取 Cookie。
    • addCookiesFromResponse − 它与从响应相同,但它提取并再次将其添加到给定 URI 的请求对象中。
    • isEmpty() − 它用于查找给定的Cookie对象是否有任何Cookie。
    • reset() − 它用于清除给定 URI 中的所有 Cookie。
    在下一章中,我们将讨论 Zend 框架中的会话(session)管理。