Zauważ, że ;jest zbędny; jak sugerują odpowiedzi, ten krótki tag rozszerza się do znaku echoze średnikiem dodanym na końcu, zgodnie z dokumentami php .
not-just-yeti
Odpowiedzi:
229
To skrót od <?php echo $a; ?>.
Jest domyślnie włączony od wersji 5.4, niezależnie od php.iniustawień.
Pamiętaj, że ostatni średnik nie jest wymagany. Ale jeśli z jakiegoś powodu musisz wrócić do klasycznych tagów, proste wyszukiwanie / zamiana <?=dla całego projektu <?php echonie wystarczy. W każdym razie mam nadzieję, że na dzień dzisiejszy nie macie żadnych serwerów produkcyjnych z PHP <5.6, ponieważ te wersje nie są już obsługiwane (wersje obsługiwane przez PHP ).
TwystO
47
To jest skrót na to:
<?php echo $a;?>
Nazywa się je krótkimi tagami; patrz przykład nr 2 w dokumentacji .
Należy pamiętać, że wszystkie serwery nie obsługują krótkich tagów, jak wspomniano w odpowiedzi poniżej. Wymagają posiadania php.inishort_open_tag = On
Corey Ballou
17
Ponieważ nie dodałoby to żadnej wartości do powtórzenia, że to znaczy echo, pomyślałem, że chciałbyś zobaczyć, co dokładnie oznacza w 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))
Możesz użyć tego kodu do samodzielnego przetestowania:
$tokens = token_get_all('<?=$a;?>');
print_r($tokens);foreach($tokens as $token){
echo token_name((int) $token[0]), PHP_EOL;}
Mam nadzieję, że nie zostanie wycofany. Chociaż pisanie <? blah code ?>jest dość niepotrzebne i mylące z XHTML <?=, z oczywistych powodów tak nie jest. Niestety nie używam go, ponieważ short_open_tag wydaje się być coraz bardziej wyłączony.
;
jest zbędny; jak sugerują odpowiedzi, ten krótki tag rozszerza się do znakuecho
ze średnikiem dodanym na końcu, zgodnie z dokumentami php .Odpowiedzi:
To skrót od
<?php echo $a; ?>
.Jest domyślnie włączony od wersji 5.4, niezależnie od
php.ini
ustawień.źródło
<?=
dla całego projektu<?php echo
nie wystarczy. W każdym razie mam nadzieję, że na dzień dzisiejszy nie macie żadnych serwerów produkcyjnych z PHP <5.6, ponieważ te wersje nie są już obsługiwane (wersje obsługiwane przez PHP ).To jest skrót na to:
Nazywa się je krótkimi tagami; patrz przykład nr 2 w dokumentacji .
źródło
short_open_tag = On
Ponieważ nie dodałoby to żadnej wartości do powtórzenia, że to znaczy
echo
, pomyślałem, że chciałbyś zobaczyć, co dokładnie oznacza w PHP:Możesz użyć tego kodu do samodzielnego przetestowania:
Z listy tokenów parsera , oto linki do T_OPEN_TAG_WITH_ECHO .
źródło
<?= $a ?>
to to samo co<? echo $a; ?>
, tylko skrót dla wygody.źródło
Od PHP 5.4.0
<?= ?>
są zawsze dostępne nawet bez short_open_tag ustawionego w php.ini.Ponadto od wersji PHP 7.0 tagi ASP:
<%, %>
i tag skryptu<script language="php">
są usuwane z PHP.źródło
to skrót do:
źródło
Jest to skrót,
<?php echo $a; ?>
jeślishort_open_tag
s są włączone. Ref: http://php.net/manual/en/ini.core.phpźródło
Mam nadzieję, że nie zostanie wycofany. Chociaż pisanie
<? blah code ?>
jest dość niepotrzebne i mylące z XHTML<?=
, z oczywistych powodów tak nie jest. Niestety nie używam go, ponieważ short_open_tag wydaje się być coraz bardziej wyłączony.Aktualizacja: Teraz używam
<?=
ponownie, ponieważ jest domyślnie włączona w PHP 5.4.0. Zobacz http://php.net/manual/en/language.basic-syntax.phptags.phpźródło