Cookies zf2在模块类(module.php)中读取cookie
在我的身份验证控制器中设置了cookie现在我想在我的模块类中获取/读取cookie,我已经看到了获取cookie的文档 但它不会读取cookie,但cookie创建成功。 我用以下方法创建了cookieCookies zf2在模块类(module.php)中读取cookie,cookies,zend-framework2,Cookies,Zend Framework2,在我的身份验证控制器中设置了cookie现在我想在我的模块类中获取/读取cookie,我已经看到了获取cookie的文档 但它不会读取cookie,但cookie创建成功。 我用以下方法创建了cookie $cookie = new SetCookie('name','value', $time); $response = $this->getResponse()->getHeaders(); $response->addHeader($cookie); 有人能帮我在mod
$cookie = new SetCookie('name','value', $time);
$response = $this->getResponse()->getHeaders();
$response->addHeader($cookie);
有人能帮我在
module.php中的init
函数中的module类中读取这个cookie吗
public function init(\Zend\ModuleManager\ModuleManager $moduleManager) {
$sharedEvents = $moduleManager->getEventManager()->getSharedManager();
$sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
$response = $e->getResponse();
$thatCookie = $request->getHeaders()->get('Cookie')->cookie_name;
}
}
更新部分。
请记住我
if ($request->getPost('rememberme') == 1 ) {
$this->getSessionStorage()
->setRememberMe(1);
//set storage again
$this->getAuthService()->setStorage($this->getSessionStorage());
}
你能告诉我你是如何阅读cookies的吗?你是说在Module.php
中?还有为什么要这样做呢?我可以在控制器中成功地读取它,但无法在Module.php中读取它。我正在为我的zend身份验证执行“记住我”功能。为什么需要读取模块中的cookie?模块用于引导:加载配置并注册事件。我使用了前面的请求->getHeaders()->get('Cookie'),但它是空的?我使用了相同的代码。试试这个echo';打印($request->getHeaders()->get('Cookie');模具()代码>并查看发生了什么。在我这边这样做,我得到Zend\Http\Header\Cookie对象([encodeValue:protected]=>1[storage:ArrayObject:private]=>Array([PHPSESSID]=>s7b9irq6q9el5qfbveceqij9n1))
输出,这很好。您还可以通过检查browser developer tools的cookie部分进行验证。该部分为空,但当我在controller中打印$response对象时,它会将cookie对象返回给我。(对象是在controller中创建cookie时设置的)是否打印了任何cookie名称?在我的例子中,这是PHPSESSID。根据你的提示,没有打印cookie