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);