Superfluouss Ответов: 0

Использование функции внутри заголовка("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);
}

Я думаю, что это неправильный подход, хотя я продолжаю получать внутреннюю ошибку сервера. Я просто не знаю, куда идти/что делать дальше

0 Ответов