exit

(PHP 4, PHP 5, PHP 7, PHP 8)

exitTerminer le script en cours avec un code d'état ou un message

Description

exit(string|int $status = 0): never

Termine le script courant. Les fonctions d'extinction et les destructeurs d'objets seront toujours exécutés même si exit est appelé. Cependant, les blocs finally ne sont jamais exécutés.

Un code de sortie de 0 est utilisé pour indiquer que le programme a réussi ses tâches. Toute autre valeur indique qu'une erreur s'est produite lors de l'exécution.

exit() est une fonction spéciale, car elle dispose d'un jeton dédié dans l'analyseur syntaxique. Elle peut ainsi être utilisée comme une instruction (c'est-à-dire sans parenthèses) pour terminer le script avec le code de statut par défaut.

Attention

Il n'est pas possible de désactiver ou de créer une fonction dans un espace de noms qui remplace la fonction globale exit().

Liste de paramètres

status
Si status est une chaîne de caractères, cette fonction affiche status juste avant de quitter. Le code de sortie retourné par PHP est 0.

Si status est un int, le code de sortie retourné par PHP sera status.

Note: Les codes de sortie doivent être compris entre 0 et 254. Le code de sortie 255 est réservé par PHP et ne doit pas être utilisé.

Avertissement

Avant PHP 8.4.0, exit() ne respectait pas la logique habituelle de gestion des types de PHP ni la déclaration strict_types.

Toute valeur non int était convertie en string, y compris les valeurs de type resource et array. À partir de PHP 8.4.0, la fonction suit la gestion standard des types et génère une TypeError pour les valeurs non valides.

Valeurs de retour

Comme cette fonction termine le script PHP, aucune valeur n'est retournée.

Historique

Version Description
8.4.0 exit() est désormais une véritable fonction, elle suit donc la logique habituelle de gestion des types, est affectée par la déclaration strict_types, peut être appelée avec des arguments nommés et être utilisée comme une fonction variable.

Exemples

Exemple #1 Exemple de base de la fonction exit()

<?php

// quitter le programme normalement
exit();
exit(
0);

// quitter avec un code d'erreur
exit(1);

?>

Exemple #2 Exemple de exit() avec un string

<?php

$filename
= '/path/to/data-file';
$file = fopen($filename, 'r')
or exit(
"unable to open file ($filename)");
?>

Exemple #3 Exemple d'exécution des fonctions d'extinction et des destructeurs d'objets

<?php
class Foo
{
public function
__destruct()
{
echo
'Destructeur : ' . __METHOD__ . '()' . PHP_EOL;
}
}

function
shutdown()
{
echo
'Arrêt : ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo
'Ceci ne sera jamais affiché.';
?>

L'exemple ci-dessus va afficher :

Arrêt : shutdown()
Destruction : Foo::__destruct()

Exemple #4 exit() en tant qu'instruction

<?php

// quitter le programme normalement avec le code de sortie 0
exit;

?>

Notes

Avertissement

À partir de PHP 8.4.0, exit() était une construction du langage et non une fonction, il n'était donc pas possible de l'appeler en utilisant des fonctions variables, ou des arguments nommés.

Voir aussi