http_response_code

funkcja

Ustawia lub odczytuje kod statusu HTTP odpowiedzi. Bez argumentu zwraca bieżący kod; z argumentem ustawia nowy.

http_response_code(int $response_code = 0): int|bool

http_response_code pozwala ustawić kod statusu HTTP (np. 200, 404, 500) lub odczytać aktualnie ustawiony kod. Gdy wywołasz ją z argumentem, zwraca poprzedni kod; bez argumentu — bieżący. To wygodniejsza alternatywa dla header('HTTP/1.1 404 Not Found'), bo nie musisz pamiętać o treści komunikatu.

Wywołaj ją przed wysłaniem jakiejkolwiek treści — podobnie jak header.

<?php
declare(strict_types=1);

$id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);

if ($id === false || $id === null) {
    http_response_code(400); // Bad Request
    echo json_encode(['blad' => 'Nieprawidłowe ID.']);
    exit;
}

// Symulacja braku zasobu:
$zasob = null; // w praktyce: wynik zapytania do bazy

if ($zasob === null) {
    http_response_code(404);
    echo json_encode(['blad' => 'Nie znaleziono.']);
    exit;
}

http_response_code(200);
echo json_encode($zasob);
📘 Naucz się w lekcji →