Solo me pregunto, tengo un proyecto de codeigniter en el que me han pedido que trabaje. También estoy intentando (donde puedo) preparar el proyecto para actualizar a php 7.x (actualmente en 5).

Una cosa que me confunde es el uso de etiquetas cortas de php. Los amo pero parece que están siendo eliminados en 7?

Entonces mi pregunta es, ¿debería eliminarlos? El problema es que hacen que el código sea mucho más legible, ¿por qué lo eliminan?

Así, por ejemplo:

<?php if ($product->price_discounted > 0)
{
    echo "<p class='discounted price'>" . $product->price_discounted . "</p>" 
}
?>

Vs

<? if ($product->price_discounted > 0): ?>
    <p class='discounted price'><?= $product->price_discounted ?></p>
<? endif; ?>

Preferiría la segunda versión, pero cada vez que ejecuto mi proyecto en php7 no funcionan. ¿Me estoy perdiendo algo o realmente se eliminan?

FYI: Tengo etiquetas cortas en php.ini

2
Brad 16 jun. 2017 a las 10:45

3 respuestas

La mejor respuesta

¿Se está cargando el php.ini correcto?

<?php phpinfo(); ?>

Verificar el archivo de configuración cargado

2
loadiam 16 jun. 2017 a las 07:56

Las etiquetas abreviadas todavía están en PHP7, las etiquetas que se eliminan son:

  • <% opening tag
  • <%= opening tag with echo
  • %> closing tag
  • (<script\s+language\s*=\s*(php|"php"|'php')\s*>)i opening tag
  • (</script>)i closing tag

https://wiki.php.net/rfc/remove_alternative_php_tags

1
Phil Young 16 jun. 2017 a las 07:54

Actualización importante:

Se realizó otra votación y las etiquetas cortas ya no están en desuso .

https://wiki.php.net/rfc/deprecate_php_short_tags_v2

El RFC no deja en claro que las etiquetas cortas ya no están en desuso. Consulte la guía de migración para confirmar:

https://www.php.net/manual/en/migration74.php


Publicación original:

Las etiquetas abiertas cortas están en desuso en PHP 7.4 y se eliminarán en PHP 8.

https://wiki.php.net/rfc/deprecate_php_short_tags

Además, el eco corto (<?=) no es parte de short_open_tag a partir de 5.4. Siempre está disponible y no forma parte de la despreciación.

https://wiki.php.net/rfc/shortags

6
Tin Can 1 nov. 2019 a las 16:32