【问题标题】:Difference between the Kohana's Request cookie(), Response cookie() and the Cookie class?Kohana 的 Request cookie()、Response cookie() 和 Cookie 类的区别?
【发布时间】:2011-11-24 12:30:44
【问题描述】:

我正在开发一个在 kohana 的 HMVC 结构下处理 cookie 的程序,我发现 Kohana 有 3 种获取/设置 cookie 的方法。他们是

Request::current()->cookie()Response->cookie() 和 cookie 类 (Cookie::set(), get())

而且 PHP 有一个原生的 setcookie() 函数和 $_COOKIE 来处理 cookie。

谁能解释一下它们的区别,以及它们应该分别在什么情况下使用。

【问题讨论】:

    标签: cookies kohana


    【解决方案1】:

    Request::cookie() 在同一对象上调用 Request::execute() 之前用于设置将与请求的其余部分一起发送(或在初始请求的情况下已发送)的 cookie。 Request::cookie()Request::execute() 期间将替换$_COOKIE

    Response::cookie()Request::execute() 期间将替换setcookie()Response::cookie() 之后的 Request::execute() 用于获取服务器设置的 cookie。

    Cookie 帮助器将签署您的 cookie,并由 HTTP_Header 用于将 cookie 设置为初始请求对象中的 Response 对象(请参阅 index.php 中的 Response::send_headers())。 如果您尝试安全地编写 HMVC 代码,您可能不想自己直接使用它。

    【讨论】:

    • 他们每个人都有任何盗版吗?假设一个请求会依次执行多个方法和子请求,其中一些方法/子请求会更新一个“CommonKey”cookie,问题中提到的方法不同,那么最终哪种方法会有效?
    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2012-01-22
    • 1970-01-01
    • 2010-09-26
    • 2011-09-17
    • 1970-01-01
    相关资源
    最近更新 更多