如何为 ZF2 中的单个控制器操作设置自定义 headers?
How to set custom headers for individual controller actions in ZF2?
我不想在 zend 框架 2 中响应我的某些控制器操作。
这是我所说的一个控制器的定义:
'login' => array(
'type' => 'segment',
'options' => array(
'route' => '/login[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z0-9]*',
),
'defaults' => array(
'controller' => 'Presentation\Controller\Login',
'action' => 'index',
),
),
),
我想要 none 缓存此控制器提供的响应。我试过这样的 setHeader:
$this->getResponse()
->setHeader('Cache-Control', 'no-cache, no-store, must-revalidate', true)
->setHeader('Pragma', 'no-cache', true)
->setHeader('Expires', '0', true);
里面的动作函数,但不起作用。我还在布局 .pthml
上设置了正确的 headers
你走对了。您只需要在相关操作中通过 $this->getResponse()->getHeaders()
的实际 Zend\Http\Headers 实例。
试试这个:
public function myAction()
{
$headers = array(
'Cache-Control' => 'no-cache, no-store, must-revalidate',
'Pragma' => 'no-cache',
'Expires' => false,
);
$this->getResponse()->getHeaders()->addHeaders($headers);
}
我不想在 zend 框架 2 中响应我的某些控制器操作。
这是我所说的一个控制器的定义:
'login' => array(
'type' => 'segment',
'options' => array(
'route' => '/login[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[a-zA-Z0-9]*',
),
'defaults' => array(
'controller' => 'Presentation\Controller\Login',
'action' => 'index',
),
),
),
我想要 none 缓存此控制器提供的响应。我试过这样的 setHeader:
$this->getResponse()
->setHeader('Cache-Control', 'no-cache, no-store, must-revalidate', true)
->setHeader('Pragma', 'no-cache', true)
->setHeader('Expires', '0', true);
里面的动作函数,但不起作用。我还在布局 .pthml
上设置了正确的 headers你走对了。您只需要在相关操作中通过 $this->getResponse()->getHeaders()
的实际 Zend\Http\Headers 实例。
试试这个:
public function myAction()
{
$headers = array(
'Cache-Control' => 'no-cache, no-store, must-revalidate',
'Pragma' => 'no-cache',
'Expires' => false,
);
$this->getResponse()->getHeaders()->addHeaders($headers);
}