Beachten Sie, dass das ;redundant ist; Wie aus den Antworten hervorgeht, wird dieses Short-Tag echogemäß den PHP-Dokumenten zu einem mit einem am Ende hinzugefügten Semikolon erweitert .
nicht nur Yeti
Antworten:
229
Es ist eine Abkürzung für <?php echo $a; ?>.
Es ist standardmäßig aktiviert seit 5.4 unabhängig von den php.iniEinstellungen.
Beachten Sie, dass das letzte Semikolon nicht erforderlich ist. Aber wenn aus irgendeinem Grunde, müssen Sie klassische Tags zurück zu gehen, eine einfache Projekt weite Suchen / Ersetzen <?=für <?php echowould'nt genug sein. Ab heute hoffe ich, dass ihr keine Produktionsserver mit PHP <5.6 habt, da diese Versionen nicht mehr gepflegt werden ( PHP Supported Versions ).
TwystO
47
Es ist eine Abkürzung dafür:
<?php echo $a;?>
Sie werden kurze Tags genannt; siehe Beispiel 2 in der Dokumentation .
Bitte beachten Sie, dass nicht alle Server kurze Tags unterstützen, wie in der folgenden Antwort angegeben. Sie benötigen php.ini zu habenshort_open_tag = On
Corey Ballou
17
Da es keinen Mehrwert bringt, zu wiederholen, was es bedeutet echo, dachte ich, Sie möchten sehen, was genau in PHP bedeutet:
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))
Sie können diesen Code verwenden, um ihn selbst zu testen:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;}
Ich hoffe es wird nicht veraltet. Während das Schreiben <? blah code ?>mit XHTML ziemlich unnötig und verwirrend ist,<?= ist dies aus offensichtlichen Gründen nicht der . Leider benutze ich es nicht, weil short_open_tag immer mehr deaktiviert zu sein scheint.
;
redundant ist; Wie aus den Antworten hervorgeht, wird dieses Short-Tagecho
gemäß den PHP-Dokumenten zu einem mit einem am Ende hinzugefügten Semikolon erweitert .Antworten:
Es ist eine Abkürzung für
<?php echo $a; ?>
.Es ist standardmäßig aktiviert seit 5.4 unabhängig von den
php.ini
Einstellungen.quelle
<?=
für<?php echo
would'nt genug sein. Ab heute hoffe ich, dass ihr keine Produktionsserver mit PHP <5.6 habt, da diese Versionen nicht mehr gepflegt werden ( PHP Supported Versions ).Es ist eine Abkürzung dafür:
Sie werden kurze Tags genannt; siehe Beispiel 2 in der Dokumentation .
quelle
short_open_tag = On
Da es keinen Mehrwert bringt, zu wiederholen, was es bedeutet
echo
, dachte ich, Sie möchten sehen, was genau in PHP bedeutet:Sie können diesen Code verwenden, um ihn selbst zu testen:
Aus der Liste der Parser Tokens , hier ist das, was T_OPEN_TAG_WITH_ECHO Links zu .
quelle
<?= $a ?>
ist das gleiche wie<? echo $a; ?>
, nur eine Abkürzung für die Bequemlichkeit.quelle
Ab PHP 5.4.0,
<?= ?>
sind sie auch ohne den in php.ini festgelegten short_open_tag immer verfügbar.Ab PHP 7.0 werden außerdem die ASP-Tags:
<%, %>
und das Skript-Tag<script language="php">
aus PHP entfernt.quelle
ist eine Abkürzung für:
quelle
Es ist eine Verknüpfung,
<?php echo $a; ?>
wennshort_open_tag
s aktiviert sind. Ref: http://php.net/manual/en/ini.core.phpquelle
Ich hoffe es wird nicht veraltet. Während das Schreiben
<? blah code ?>
mit XHTML ziemlich unnötig und verwirrend ist,<?=
ist dies aus offensichtlichen Gründen nicht der . Leider benutze ich es nicht, weil short_open_tag immer mehr deaktiviert zu sein scheint.Update: Ich verwende
<?=
es jetzt wieder, da es standardmäßig mit PHP 5.4.0 aktiviert ist. Siehe http://php.net/manual/en/language.basic-syntax.phptags.phpquelle