Zend Header问题

时间:2016-07-25 08:07:06

标签: php zend-framework request http-headers

我尝试在Zend请求中设置自定义标头。我收到以下错误:

 Argument 1 passed to Zend\\Http\\AbstractMessage::setHeaders() must be an instance of Zend\\Http\\Headers, array given

以下是我的代码示例:

<?php
$request = new Request();
$request->setContent($parameters);
$request->setMethod(Request::METHOD_POST);
$request->setHeaders(array("Authorization: MyAuth $authId"));
$request->setUri($url);

我也尝试过以字符串格式提供标题。但我仍面临同样的错误。任何人都可以在设置标题时找出问题所在吗?

2 个答案:

答案 0 :(得分:1)

错误说明一切,setHeaders期待\Zend\HTTP\Headers类型的对象。

首先尝试创建对象:

$headers = new \Zend\Http\Headers();
$headers->addHeaderLine('[YOUR HEADER LINE]');

$request->setHeaders($headers);

答案 1 :(得分:0)

$request->setHeaders()想要Zend\Http\Headers()的实例作为参数。所以你可以创建一个实例

$headers = new Zend\Http\Headers();
$headers->addHeaders("Authorization","MyAuth ".$authId);

$headers = Zend\Http\Headers::fromString($headerString);

检查this