202 votes

Pourquoi certains scripts omettent-ils la balise PHP de fermeture '?>'?

Dans certains scripts, je vois qu'ils omettent d'écrire une balise de fermeture ?> pour le script. Pourquoi est-ce que je devrais le faire aussi?

(Je suis sûr qu'ils ne l'ont pas oublié.)

191voto

dhh Points 1632

Bien, l'omission de la balise de fermeture n'est qu'une solution pour éviter les blancs et autres caractères à la fin du fichier. Par exemple, tout caractère ajouté par inadvertance derrière la balise de fermeture déclencherait une erreur lors de la tentative de modification ultérieure des informations d'en-tête.

Supprimer la balise de fermeture est une sorte de "bonne pratique" faisant référence à de nombreuses directives de codage.

85voto

Metalshark Points 3090

À partir de PHP: Instruction de Séparation

La balise de fermeture PHP bloc à la fin d'un fichier est facultatif, et, dans certains cas, l'omission, il est utile lors de l'utilisation de include() ou require(), de sorte que les espaces indésirables ne se produisent pas à la fin de fichiers, et vous serez toujours en mesure d'ajouter des en-têtes de la réponse plus tard. Il est également utile si vous utilisez le tampon de sortie, et ne voudrait pas voir ajouté indésirables les espaces à la fin de l'composants générés par l'inclusion de fichiers.

34voto

brismuth Points 354

Selon php.net:

Si un fichier est du pur code PHP, il est préférable de ne pas la fermeture PHP tag à la fin du fichier. Cela prévient les espaces ou de nouvelles les lignes ajoutées après la balise de fermeture PHP, ce qui peut entraîner des effets car PHP va commencer à le tampon de sortie quand il n'y a pas de l'intention du programmeur pour envoyer de sortie à ce point dans le script.

15voto

Soufiane Hassou Points 9789

Ils le font pour éviter le risque d’avoir des espaces après la balise de fermeture qui peut arrêter les en-têtes pour travailler.

C’est, bien sûr, vrai pour les fichiers PHP uniquement.

8voto

beawolf Points 71

CodeIgniter Framework suggère pour omettre les balises pour «... peut provoquer la sortie indésirable, des erreurs PHP ou des pages blanches ».

Vous pouvez le lire ici : http://ellislab.com/codeigniter/user-guide/general/styleguide.html#php_closing_tag

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X