Mes*_*Ops 2 http httpresponse zend-framework2
我正在尝试498 - Token Invalid
在 Zend Framework 2 应用程序中使用自定义 http 状态代码发送响应。这显然不起作用,因为标准 Zend Response 类不允许自定义 http 代码。
所以我创建了自己的响应类来处理这个 http 代码并在我的操作中返回它:
$response = new CustomResponse();
$response->setStatusCode(498); //basic zend response objects throws InvalidArgumentException
return $response;
Run Code Online (Sandbox Code Playgroud)
虽然没有抛出异常,但浏览器说它返回了 500 错误。
如何让这个工作?
ZF2 中的HTTP 响应类严格遵循状态代码的RFC 2616。这是一个很好的做法,setStatusCode()
当您传递未知状态代码时,方法将抛出异常。
无论如何,您不需要创建自定义响应对象来返回非标准的 HTTP 状态代码。有一种setCustomStatusCode()
方法可以满足此要求。
在任何控制器操作中试试这个:
public function myAction()
{
$response = $this->getResponse();
$response->setCustomStatusCode(498);
$response->setReasonPhrase('Invalid token!');
return $response;
}
Run Code Online (Sandbox Code Playgroud)