(PHP 4, PHP 5, PHP 7, PHP 8)
exit — Terminer le script en cours avec un code d'état ou un message
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.
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().
status
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
et254
. Le code de sortie255
est réservé par PHP et ne doit pas être utilisé.
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.
Comme cette fonction termine le script PHP, aucune valeur n'est retournée.
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.
|
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;
?>
À 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.