当前位置:  开发笔记 > 编程语言 > 正文

在Controller(Zend Framework)中读取HTTP标头

如何解决《在Controller(ZendFramework)中读取HTTP标头》经验,为你挑选了2个好方法。

长话短说:我正在为Zend Framework构建一个骨架应用程序,我到了需要设置api模块的部分.我正在用Zend_Rest_Controller这份工作.一切都很好,我需要在控制器中获取HTTP头以验证api密钥.

关于我在网上看到的各种教程,事情是通过前端控制器插件完成的,但是我需要它比那更"即插即用"(每次检查应用程序的配置,决定哪个模块是api等等).

我试过看起来最明显$this->getRequest()->getHeaders()但似乎不起作用的东西,至少不是我将要发送api密钥的HTTP头文件.reponse对象都没有.

任何人都可以帮我这个吗?



1> Bogdan Const..:

毕竟我找到了这样做的方法:)

preDispatch()控制器中的方法上,您可以执行以下操作:

public function preDispatch()
{
    $request = new Zend_Controller_Request_Http();
    $key = $request->getHeader('x-apikey');
}

似乎该Zend_Controller_Request_Http对象允许您访问标头.有关Zend_Controller_Request_Http您可以在此处找到的更多信息



2> jhuet..:

正如Bogdan所说,你可以在Zend_Controller_Request_HTTP类中找到这些信息.它可以在控制器本身中找到:

$this -> getFrontController() -> getRequest() -> getHeader('Content-Type');

不幸的是,您无法一次访问所有标头,但ZF所做的只是使用apache_request_headers()函数(如果在服务器上可用)来获取它们.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有