etiquetas ejemplos php coding-style php-shorttags

ejemplos - ¿Por qué las etiquetas cortas "eco" están permanentemente habilitadas a partir de PHP 5.4?



html between php tags (4)

La razón es que < ? se usa en documentos XML y al habilitar short_open_tags generará errores en los códigos XML. Pero, < ?= , Al igual que < ?php no es una etiqueta XML abierta y es seguro de usar.

Incluso la documentación oficial solía decirnos que las "etiquetas cortas" de PHP ( <? /*...*/ ?> ) Son "malas" . Sin embargo, desde PHP 5.4, la variedad de echo <?= /*...*/ ?> Está permanentemente habilitada independientemente de la configuración short_open_tag .

¿Qué ha cambiado?

Incluso si anteriormente se desalentaron debido a la naturaleza impredecible de si short_open_tag está habilitado en una plataforma de alojamiento compartido, seguramente ese argumento no desaparece solo porque algún subconjunto de hosts ejecutará PHP 5.4.

Podría decirse que este cambio en el lenguaje no significa inherentemente un cambio en la recomendación de que debemos evitar "etiquetas cortas", pero si se han tomado la molestia, parecería que los desarrolladores de PHP ya no los "odian". mucho. ¿Derecha?

La única conclusión lógica que puedo extraer en este momento es que debe haber una justificación objetiva para la introducción de este cambio en PHP 5.4.

¿Qué es?


Solo la etiqueta de eco corta ( <?= ) Está habilitada permanentemente, no las etiquetas de apertura corta ( <? ). Es porque la etiqueta de eco corta es muy útil cuando estás creando plantillas HTML (o cualquier otra plantilla de vista) y sin eso tienes que escribir mucho más (como <?php echo $var; ?> lugar de solo <?= $var ?> ).


Las etiquetas cortas abiertas no siempre están habilitadas desde PHP 5.4. La documentación habla sobre las etiquetas de eco cortas . Que es una cosa diferente (las etiquetas abreviadas abreviadas son etiquetas de estilo <? etiquetas cortas de eco son <?= etiquetas de estilo para el eco).

Entonces, ¿por qué están habilitados por defecto ahora? Bueno, hay muchos scripts, donde se usa <?= $somevar ?> lugar de <?php echo $somevar ?> . Y wiki.php.net/rfc/shortags . Porque ahora los desarrolladores (de frameworks y CMS-es) pueden contar con ellos (o más bien, cuando PHP 5.4 se convierta en mainstream).

Sin embargo, las etiquetas abreviadas cortas todavía están influenciadas por la configuración short_open_tag en su php.ini.


Nota: A partir de PHP 5.4, la etiqueta de eco corta <?= Siempre se reconoce y es válida, independientemente de la configuración short_open_tag.

Todo lo que esto está diciendo es que <?= Siempre es válido, y no <?