📜  Zend框架-Cookie管理

📅  最后修改于: 2020-10-16 07:45:36             🧑  作者: Mango


Cookie是Web应用程序中非常重要的概念。它提供了将用户数据(通常是一小段信息)保留在浏览器中有限时间的选项。

Cookie用于维护Web应用程序的状态。 Zend框架在zend-http组件内部提供了一个cookie模块。这个zend-http提供了HTTP抽象及其实现。

安装HTTP组件

可以使用以下代码中指定的Composer轻松安装HTTP组件。

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)首次向Web服务器发送URI请求时,它没有任何cookie。 Web服务器接收到请求后,会将cookie作为HTTP标头Set-Cookie包含在其响应对象中,并将其发送到HTTP客户端。 HTTP客户端将从http响应中提取cookie,并在后续请求中将其作为同一HTTP标头重新发送。通常,每个cookie都将映射到一个域和该域的路径。

Cookies类中可用的方法如下-

  • addCookie(uri) -用于将cookie添加到给定URI的请求对象中。

  • getCookie(cookieName,$ cookieForm) -用于获取给定URI $ uri中可用的cookie $ cookieName。第三个参数是如何返回cookie(字符串或数组)。

  • fromResponse(uri) -用于从给定URI的响应对象中提取cookie。

  • addCookiesFromResponse-与fromResponse相同,但是它将提取并将其再次添加到给定URI的请求对象中。

  • isEmpty() -用于查找给定的Cookie对象是否具有任何cookie。

  • reset() -用于清除给定URI中的所有cookie。

在下一章中,我们将讨论有关Zend框架中的会话管理。