在ZF2中,我有一个控制器插件,可以远程调用身份验证服务。我想将此调用中的Set-Cookie标头传递给我的响应,以便将第一个请求中设置的cookie传递给客户端的浏览器。
如何在控制器插件中执行此操作,我没有可用的Resquest / Response类实例?
答案 0 :(得分:2)
有几种方法。
如果你的控制器插件扩展Zend\Mvc\Controller\Plugin\AbstractPlugin
,你可以调用(从你的插件中)。
$this->getController()->getResponse();
另一种方法是将响应对象注入构造函数参数。
// Module.php
public function getControllerPluginConfig()
{
return array(
'factories' => array(
'MyModule\Controller\FooPlugin' => function($pm) {
$serviceManager = $pm->getServiceLocator();
$response = $serviceManager->get('Response');
return new FooPlugin($response);
}
)
);
}