Я разрабатываю API с микрофреймами FlightPHP, и я не могу установить код ответа HTTP для своих маршрутов.
Я могу установить это и работает отлично:
header('HTTP/1.0 500 Error');
Но я хочу использовать встроенную функцию http_response_code () из PHP. Этот ничего не делает.
Я хочу использовать это, потому что мне не нужно вручную вводить сообщение об ошибке.
Чтобы вернуть код ответа HTTP с помощью Flight, вы можете сделать это следующим образом:
Flight::route('GET /', function(){
Flight::json($data, $code = 500);
});
куда $data
переменная, которая приводит к массиву, который вы хотите отправить в json.
Если $code
не установлен, то по умолчанию возвращается HTTP-код ответа «200».
https://github.com/mikecao/flight/blob/e25f023d4377a2b99b4be8bf7977f3fc0f8089c8/flight/Engine.php#L500
У меня была похожая проблема, чтобы отправить свои собственные заголовки, я делаю так:
$code = 404;
Flight->before('stop', function(&$params) use ($code) {
$params[0] = $code;
});