Cookies Kohana:如何获取子请求&x27;s(HMVC)cookie更改

Cookies Kohana:如何获取子请求&x27;s(HMVC)cookie更改,cookies,kohana,hmvc,Cookies,Kohana,Hmvc,我使用以下代码在HMVC结构中执行子请求: 对“page1”的请求将通过以下代码向“page2”发出子请求: $request = Request::factory('/page2') ->method(Request::POST) ->post($postData) ->execute(); “page2”中的执行将通过以下方式添加/更改Cookie项的值: setcookie('new_var', $new

我使用以下代码在HMVC结构中执行子请求:

对“page1”的请求将通过以下代码向“page2”发出子请求:

$request = Request::factory('/page2')
           ->method(Request::POST)
           ->post($postData)
           ->execute();
“page2”中的执行将通过以下方式添加/更改Cookie项的值:

setcookie('new_var', $newValue);
现在我需要在“Page1”中捕获cookie“new_var”的新值。那我该怎么做呢

PS:由于一些限制,我必须在cookie中设置'new_var',所以将其放入会话不是一个答案

==========更新=============

按照虫族的建议,我做了这样的事情:

$response = Request::factory('/page2')
           ->method(Request::POST)
           ->post($postData);

//before
error_log(print_r($response->cookie(), TRUE));

$response->execute();

//after
error_log(print_r($response->cookie(), TRUE));

“before”和“after”日志项的结果都是空数组:(

在科哈纳,你最好使用这种方法


在这种情况下,您可以使用此方法检索和设置cookie(即使在同一请求中)

Response::cookie不是静态方法,它为当前响应设置/获取cookie。它只能在$this->Response作用域中调用。Response将cookie存储在$this->\u cookies protected var中,而不是在函数调用时立即设置它。我认为在这种情况下,这将是更好的解决方案。@atma:当然它不是静态方法;-)但这是编写方法完整签名(静态或实例签名)的常见约定。再读一遍他的问题,
Cookie::set()
对他没有帮助,只要他想以同样的方式设置和阅读。谢谢,我知道约定。让我们再次阅读文章:“第2页”中的执行将通过以下方式添加/更改cookies项的值。。。现在我需要在“Page1”中捕获cookie“new_var”的新值。那么Request::initial()和一些子请求是一样的吗?@atma:来吧,我们可以为同一个请求对象设置cookies。是的,我们可以在内部获得相同的(外部)请求对象request@atma,虫族:谢谢你的帮助。我现在不懂我的代码,所以我不能用你的建议进行测试,但是因为你提到了Response->cookie()和cookie类,我还发现还有Request::current()->cookie()。他们真把我弄糊涂了。因此,我就他们的差异提出了另一个问题: