php - 在 ZF2 中,如何访问 Controller 插件内的 Response 对象?

标签 php zend-framework2

在 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/

相关文章:

php - mongodb中按年龄组分组

doctrine-orm - 表格已经存在

html - 如何自定义我网站的主题取决于用户

nginx - 如何替换 HTTP 请求 URI 中的特殊字符?

php - PDO MySQL 检查数据库是否存在

php - 是否可以从 PHP 检查 PHP 文件语法?

php - Zf2 如何使用过滤器类传递参数?

zend-framework2 - zend 框架 2 服务管理器可调用和工厂之间的区别

javascript - 将csv文件上传到mysql数据库sql语法错误

php - 出现 MySQL 错误 "unknown column"但该列存在