Tenga en cuenta que ;es redundante; como las respuestas sugieren que esta etiqueta corta se expande a una echocon un punto y coma agregado al final, según los documentos php .
no solo yeti
Respuestas:
229
Es una abreviatura para <?php echo $a; ?>.
Está habilitado por defecto desde 5.4 independientemente de la php.iniconfiguración.
Tenga en cuenta que no se requiere el punto y coma final. Pero si, por cualquier razón, necesita volver a las etiquetas clásicas, una simple búsqueda / reemplazo <?=de todo el proyecto no <?php echosería suficiente. De todos modos, a partir de hoy espero que no tengan ningún servidor de producción que ejecute PHP <5.6 ya que estas versiones ya no se mantienen ( versiones compatibles con PHP ).
TwystO
47
Es una abreviatura para esto:
<?php echo $a;?>
Se llaman etiquetas cortas; ver ejemplo # 2 en la documentación .
Tenga en cuenta que todos los servidores no admiten etiquetas cortas como se menciona en una respuesta a continuación. Requieren php.ini para tenershort_open_tag = On
Corey Ballou
17
Como no agregaría ningún valor repetir lo que significa echo, pensé que le gustaría ver qué significa exactamente en PHP:
Array([0]=>Array([0]=>368// T_OPEN_TAG_WITH_ECHO[1]=><?=[2]=>1)[1]=>Array([0]=>309// T_VARIABLE[1]=> $a
[2]=>1)[2]=>;// UNKNOWN (because it is optional (ignored))[3]=>Array([0]=>369// T_CLOSE_TAG[1]=>?>[2]=>1))
Puede usar este código para probarlo usted mismo:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;}
Espero que no quede en desuso. Si bien la escritura <? blah code ?>es bastante innecesaria y confusa con XHTML, <?=no lo es, por razones obvias. Lamentablemente no lo uso, porque short_open_tag parece estar deshabilitado cada vez más.
;
es redundante; como las respuestas sugieren que esta etiqueta corta se expande a unaecho
con un punto y coma agregado al final, según los documentos php .Respuestas:
Es una abreviatura para
<?php echo $a; ?>
.Está habilitado por defecto desde 5.4 independientemente de la
php.ini
configuración.fuente
<?=
de todo el proyecto no<?php echo
sería suficiente. De todos modos, a partir de hoy espero que no tengan ningún servidor de producción que ejecute PHP <5.6 ya que estas versiones ya no se mantienen ( versiones compatibles con PHP ).Es una abreviatura para esto:
Se llaman etiquetas cortas; ver ejemplo # 2 en la documentación .
fuente
short_open_tag = On
Como no agregaría ningún valor repetir lo que significa
echo
, pensé que le gustaría ver qué significa exactamente en PHP:Puede usar este código para probarlo usted mismo:
De la Lista de tokens de analizador , esto es a lo que se vincula T_OPEN_TAG_WITH_ECHO .
fuente
<?= $a ?>
es lo mismo que<? echo $a; ?>
, solo taquigrafía para mayor comodidad.fuente
A partir de PHP 5.4.0,
<?= ?>
siempre están disponibles, incluso sin el short_open_tag establecido en php.ini.Además, a partir de PHP 7.0, las etiquetas ASP:
<%, %>
y la etiqueta de script<script language="php">
se eliminan de PHP.fuente
es un atajo para:
fuente
Es un acceso directo para
<?php echo $a; ?>
si losshort_open_tag
s están habilitados. Ref: http://php.net/manual/en/ini.core.phpfuente
Espero que no quede en desuso. Si bien la escritura
<? blah code ?>
es bastante innecesaria y confusa con XHTML,<?=
no lo es, por razones obvias. Lamentablemente no lo uso, porque short_open_tag parece estar deshabilitado cada vez más.Actualización: lo uso de
<?=
nuevo ahora, porque está habilitado de forma predeterminada con PHP 5.4.0. Ver http://php.net/manual/en/language.basic-syntax.phptags.phpfuente