我真的无法理解,也不知道还能去哪里寻找答案,因为下面这段代码的响应状态码总是200,即使我在主要的Response类中将它设置为400。
class Api_Controller extends Base_Controller
{
public function __construct()
{
parent::__construct();
//header("HTTP/1.0 404 Not Found"); ##> This works
//die();
$test = array('1' => '2');
die(Response::json($test, 400));
}
我错过了什么?我没有使用任何扩展类,只是默认的...
更新
这是上面
Response::json...
的输出:http://pastebin.com/RGcinSdg
正如你所看到的,输出显示已经设置的值......但是出于某种原因,仍然返回200。更新2
var_dump(http_response_code());
的输出总是200
更新3 - 临时解决方法我已经激活了一个扩展版本的
Response::json
并添加了以下行:http_response_code($status);
但我仍然很想知道为什么它没有按照应该的方式执行。
response::json
的输出。 - Alex