在 ZF2 中,我有一个 Controller 插件,可以远程调用身份验证服务。我想将此调用中的 Set-Cookie header 传递给我的响应,以便将第一个请求中设置的 cookie 传递给客户端浏览器。
如果我没有 Resquest/Response 类的可用实例,如何在 Controller 插件中执行此操作?
最佳答案
有几种方法。
如果您的 Controller 插件扩展了 Zend\Mvc\Controller\Plugin\AbstractPlugin
,您可以调用(从您的插件内部)。
$this->getController()->getResponse();
另一种方法是将响应对象作为构造函数参数注入(inject)。
// 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);
}
)
);
}
关于php - 在 ZF2 中,如何访问 Controller 插件内的 Response 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27504963/