Maison >développement back-end >tutoriel php >Devriez-vous utiliser « exit() » après un en-tête « Location : » en PHP ?

Devriez-vous utiliser « exit() » après un en-tête « Location : » en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-03 09:47:42479parcourir

Should You Use `exit()` After a `Location:` Header in PHP?

Exit() devrait-il être utilisé après Location: header ?

Après avoir invoqué la fonction d'en-tête pour la redirection, il est crucial de décider s'il faut appeler exit() ou pas. Cette question se pose car l'en-tête ne termine pas automatiquement l'exécution du script.

Pourquoi appeler exit() ?

L'utilisation de exit() après l'en-tête est fortement recommandée pour les raisons suivantes :

  • Prévention de l'exécution ultérieure du code : Sans exit(), le script continue d'exécuter le code après la redirection l’en-tête est défini. Cela peut entraîner des effets secondaires involontaires ou une consommation inutile de ressources.
  • Sortie de script claire : exit() force le script à arrêter l'exécution et empêche l'envoi de sorties supplémentaires au navigateur. Cela garantit une expérience de redirection plus propre.

Exemple d'utilisation :

Comme le montre l'exemple donné, exit() doit être appelé immédiatement après avoir défini l'en-tête Location. :

<?php // fileA
$urlFailToGoTo = '/formerror.php';

if (sth) {
    header(sprintf("Location: %s", $urlFailToGoTo));
    exit();
}

Éviter d'utiliser le retour :

Utiliser le retour à la place de exit() ici, c'est incorrect. return termine normalement une fonction ou une méthode, mais dans ce cas, le script est un programme autonome qui ne renvoie aucun appelant. exit() est le choix approprié pour terminer proprement l’exécution du script.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn