Что значит <? =? - PullRequest
       35

Что значит <? =?

5 голосов
/ 24 декабря 2009

в чем смысл этой строки

<input type=text name="name" value="<?= $name ?>

если мы хотим объявить PHP, мы не должны писать <?php instead of <?=

Спасибо

Ответы [ 3 ]

15 голосов
/ 24 декабря 2009

<?= - это короткие открытые теги PHP, которые можно включить (или отключить) с помощью директивы short_open_tag в php.ini (цитирование) :

Эта директива также влияет на сокращение <?=, которое идентично до <? echo. Использование этого ярлыка требует short_open_tag, чтобы быть on.

И

Также, если отключено, вы должны использовать полная форма открытого тега PHP (<?php ?>).

Это означает, что ваша часть кода:

<input type=text name="name" value="<?= $name ?>

Эквивалентно этому:

<input type=text name="name" value="<?php echo $name; ?>

Но только , если включены короткие открытые теги .

И, как примечание: короткие открытые теги не всегда включены - на самом деле они отключены по умолчанию в последних версиях PHP.

Это означает, что было бы разумно не зависеть от них, по крайней мере, если вы хотите развернуть свое приложение на серверах, на которых вы не являетесь администратором.

10 голосов
/ 24 декабря 2009

<?= ... ?> - это сокращение для <?php echo ... ?>

3 голосов
/ 24 декабря 2009

использование коротких тегов, как правило, осуждается в настоящее время, но это все еще опция в php.ini. Это хорошо, это просто плохой стиль кодирования и имеет некоторые последствия, если вы используете несколько динамических языков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...