Para cerrar o no cerrar php

12

He leído que se recomienda (especialmente con php 7) no cerrar los archivos php con ?>

Muchos de mis archivos php de WP terminan así:

<?php get_sidebar(); ?>
<?php get_footer(); ?>

¿Debo quitar la etiqueta de cierre y tener algo como esto?

<?php get_sidebar(); ?>
<?php get_footer(); 

al final de mis archivos?

    
pregunta IXN 04.12.2015 - 13:01

2 respuestas

16

Sí, evite cerrar las etiquetas PHP al final del archivo, no solo con PHP 7, sino también con PHP 5.

El motivo es que si cierra la etiqueta, todo lo que esté después de la etiqueta, incluso una línea en blanco, se enviará a la salida y hará que PHP envíe los encabezados, así como evitar que se establezca una cookie, redirigir al trabajo, alimentar a ser válido, y así sucesivamente.

Supongo que alguna vez te has encontrado con un mensaje como

  

No se puede modificar la información del encabezado: los encabezados ya enviados por (salida comenzó en ...) en ... en línea ...

Un cierre ?> al final del archivo puede ser la causa.

    
respondido por el gmazzap 04.12.2015 - 16:27
11

Dado su ejemplo específico, mantendría la etiqueta de cierre, es decir, llamadas de función de una línea dentro de una plantilla. Es coherente y facilita la claridad (de la misma manera que WordPress recomienda comas finales para arreglos ): de lo contrario, imagínese si un desarrollador que no fue el desarrollador recogió su archivo y comenzó a agregarlo:

<?php get_footer();

<div>What the hell am I doing wrong?</div>

Sin embargo, para todos los demás archivos (funciones, incluidos, etc.), el consejo es definitivamente una buena idea:

<?php // Start of file

class MY_Class {
    function just_do_it() {
    }
}

// Bye bye closing tag

Me parece que está más limpio, y como han dicho otros, no hay riesgo de que los temibles "encabezados ya enviados".

    
respondido por el TheDeadMedic 04.12.2015 - 18:36

Lea otras preguntas en las etiquetas