¿Por qué algunos scripts omiten la etiqueta PHP de cierre, '?>'? [duplicar]
En algunos scripts veo que omiten escribir una etiqueta de cierre ?>
para el script. ¿Por qué es así y debería hacer esto también?
(Estoy seguro de que no lo han olvidado).
Bueno, omitir la etiqueta de cierre es sólo una solución para evitar espacios en blanco y otros caracteres al final del archivo. Por ejemplo, cualquier carácter que se agregue accidentalmente detrás de la etiqueta de cierre generará un error al intentar modificar la información del encabezado más adelante.
Quitar la etiqueta de cierre es una especie de "buena práctica" que se refiere a muchas pautas de codificación.
Desde PHP: Separación de instrucciones
La etiqueta de cierre de un bloque PHP al final de un archivo es opcional y, en algunos casos, omitirla es útil cuando se usa
include()
orequire()
, por lo que no aparecerán espacios en blanco no deseados al final de los archivos y aún podrá agregar encabezados a la respuesta más tarde. También es útil si utiliza el almacenamiento en búfer de salida y no le gustaría ver espacios en blanco no deseados agregados al final de las partes generadas por los archivos incluidos.
php.net en etiquetas PHP :
Si un archivo es código PHP puro, es preferible omitir la etiqueta de cierre PHP al final del archivo. Esto evita que se agreguen espacios en blanco accidentales o nuevas líneas después de la etiqueta de cierre de PHP, lo que puede causar efectos no deseados porque PHP comenzará a almacenar en búfer la salida cuando el programador no tenga la intención de enviar ninguna salida en ese punto del script.