我试图在Controller类的构造函数中获取头像
$this->params()->fromHeader();
但它无法正常工作在构造函数
中获取头文件我在头文件中传递userId所以我希望在构造函数中可以吗?
谢谢。
答案 0 :(得分:2)
好像你想从自定义标头中获取用户ID。简短的回答是肯定的,这是可能的。但是在constructor
中执行此操作可能不是正确的方法,因为ControllerManager实例化了所有MVC控制器。
您需要在控制器内部实施onDispatch()
方法,以便在发送实际操作之前检查标头值。
试试这个:
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Mvc\MvcEvent;
class MyController extends AbstractActionController
{
/**
* On dispatch event
*
* @param MvcEvent $event
*/
public function onDispatch(MvcEvent $e)
{
$headers = $e->getRequest()->getHeaders();
if($headers->has('user')) {
// User header is provided.
$header = $headers->get('user');
// ... here you can do what you want with this header.
}
// Don't forget to trigger parent's dispatch.
return parent::onDispatch($e);
}
答案 1 :(得分:1)
我没有测试但是试试这个:
$headers = $this->getRequest()->getHeaders();
$user_param = $headers->get('user');
$user_value = $user_param->getFieldValue();
答案 2 :(得分:1)
其实我刚刚用这个
找到它$headers=apache_request_headers();