Использование функции внутри заголовка("HTTP/1.1")
Реализуйте функцию PHP, которая возвращает код состояния HTTP вместе с пользовательским сообщением в
заголовок и тело ответа клиенту. Эта функция будет необходима для всех
последующие разделы и должны использоваться при возникновении ошибки (неверный ввод, неправильный запрос
тип и т. д.).
Функция должна установить соответствующий HTTP-заголовок и предоставить сообщение в поле
тело ответа в формате JSON.
Хорошее определение функции будет выглядеть следующим образом: send_error($error_code, $error_message)
Функция должна принимать 2 входных параметра:
(Integer) $error_code будет возвращаемым кодом состояния HTTP.
(Строка) $error_message будет пользовательским текстом сообщения
Переменная кода содержит значение, которое также является ключевым в предоставленном массиве $responses.
Этот массив сопоставляет целочисленные коды с соответствующим им текстом причины. Убедитесь в том, чтобы использовать этот
массив! Вы можете получить протокол сервера из
$_SERVERсуперглобальный массив.
Заголовок должен быть следующего вида:
$PROTOCOL $CODE - $REASON
Текст ответа должен содержать действительный объект JSON вида:
{ "error": "$CODE - $REASON: $MESSAGE" }
Где:
$PROTOCOL = HTTP Protocol used (e.g. HTTP/1.1) $CODE = HTTP Status Code (e.g. 400) $REASON = HTTP Status Code Reason (e.g. "Bad Request") $MESSAGE = Custom message (e.g. "Age must be between 13-130")Пример Заголовка:
HTTP/1.1 400 - Bad Request: Age must be between 13-130
Пример Тела:
{ "error": 400 - Bad Request: Age must be between 13-130" }
Примечание: Вы не можете использовать
http_response_code()функции в PHP для этого как бы нет
разрешить использование пользовательских сообщений о причинах.
Что я уже пробовал:
Я пробовал создать функцию
function send_error($error_code, $error_message){ header("HTTP/1.1". $error_code . $error_message); }
Я думаю, что это неправильный подход, хотя я продолжаю получать внутреннюю ошибку сервера. Я просто не знаю, куда идти/что делать дальше