Notez que le ;est redondant; comme les réponses le suggèrent, cette balise courte se développe en un echoavec un point-virgule ajouté à la fin, selon les documents php .
not-just-yeti
Réponses:
229
C'est un raccourci pour <?php echo $a; ?>.
Il est activé par défaut depuis la version 5.4 quels que soient les php.iniparamètres.
Notez que le point-virgule final n'est pas obligatoire. Mais si, pour une raison quelconque, vous devez revenir aux balises classiques, une simple recherche / remplacement <?=à l' <?php echoéchelle du projet ne suffirait pas. Quoi qu'il en soit, à partir d'aujourd'hui, j'espère que vous n'avez pas de serveurs de production exécutant PHP <5.6 car ces versions ne sont plus maintenues ( versions supportées par PHP ).
TwystO
47
C'est un raccourci pour ceci:
<?php echo $a;?>
On les appelle des balises courtes; voir l'exemple n ° 2 dans la documentation .
Veuillez noter que tous les serveurs ne prennent pas en charge les balises courtes comme mentionné dans une réponse ci-dessous. Ils nécessitent php.ini d'avoirshort_open_tag = On
Corey Ballou
17
Comme cela n'ajouterait aucune valeur à répéter ce que cela signifie echo, j'ai pensé que vous aimeriez voir ce que signifie exactement 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))
Vous pouvez utiliser ce code pour le tester vous-même:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;}
J'espère qu'il n'est pas obsolète. Bien que l'écriture <? blah code ?>soit assez inutile et confuse avec XHTML, ce <?=n'est pas le cas, pour des raisons évidentes. Malheureusement, je ne l'utilise pas, car short_open_tag semble être de plus en plus désactivé.
;
est redondant; comme les réponses le suggèrent, cette balise courte se développe en unecho
avec un point-virgule ajouté à la fin, selon les documents php .Réponses:
C'est un raccourci pour
<?php echo $a; ?>
.Il est activé par défaut depuis la version 5.4 quels que soient les
php.ini
paramètres.la source
<?=
à l'<?php echo
échelle du projet ne suffirait pas. Quoi qu'il en soit, à partir d'aujourd'hui, j'espère que vous n'avez pas de serveurs de production exécutant PHP <5.6 car ces versions ne sont plus maintenues ( versions supportées par PHP ).C'est un raccourci pour ceci:
On les appelle des balises courtes; voir l'exemple n ° 2 dans la documentation .
la source
short_open_tag = On
Comme cela n'ajouterait aucune valeur à répéter ce que cela signifie
echo
, j'ai pensé que vous aimeriez voir ce que signifie exactement en PHP:Vous pouvez utiliser ce code pour le tester vous-même:
À partir de la liste des jetons d'analyseur , voici les liens vers T_OPEN_TAG_WITH_ECHO .
la source
<?= $a ?>
est le même que<? echo $a; ?>
, juste un raccourci pour plus de commodité.la source
Depuis PHP 5.4.0,
<?= ?>
sont toujours disponibles même sans le short_open_tag défini dans php.ini.De plus, à partir de PHP 7.0, les balises ASP:
<%, %>
et la balise script<script language="php">
sont supprimées de PHP.la source
est un raccourci pour:
la source
C'est un raccourci pour
<?php echo $a; ?>
si lesshort_open_tag
s sont activés. Réf: http://php.net/manual/en/ini.core.phpla source
J'espère qu'il n'est pas obsolète. Bien que l'écriture
<? blah code ?>
soit assez inutile et confuse avec XHTML, ce<?=
n'est pas le cas, pour des raisons évidentes. Malheureusement, je ne l'utilise pas, car short_open_tag semble être de plus en plus désactivé.Mise à jour: J'utilise à
<?=
nouveau maintenant, car il est activé par défaut avec PHP 5.4.0. Voir http://php.net/manual/en/language.basic-syntax.phptags.phpla source