register_shutdown_function
funkcja
Rejestruje funkcję wywoływaną po zakończeniu skryptu — niezależnie od tego, czy skrypt zakończył się normalnie, czy przez błąd.
register_shutdown_function(callable $callback, mixed ...$args): void
register_shutdown_function rejestruje funkcję, która zostanie uruchomiona zawsze na końcu skryptu — po exit, die, a nawet po błędzie krytycznym (E_ERROR), którego set_error_handler nie może przechwycić. Możesz zarejestrować wiele funkcji; będą wywoływane w kolejności rejestracji.
Typowe zastosowania to zwalnianie zasobów, zapisywanie logów, wysyłanie powiadomień o awarii. Wewnątrz handlera możesz sprawdzić error_get_last, żeby dowiedzieć się, czy skrypt zakończył się błędem.
<?php
declare(strict_types=1);
register_shutdown_function(function (): void {
$blad = error_get_last();
if ($blad !== null) {
echo 'Awaria: ' . $blad['message'] . PHP_EOL;
} else {
echo 'Sprzątanie po zakończeniu skryptu.' . PHP_EOL;
}
});
echo 'Skrypt działa...' . PHP_EOL;
// Skrypt działa...
// Sprzątanie po zakończeniu skryptu.