Если вам случится переместить код в среду, где short_open_tag не включен, вы обнаружите множество имен внутренних переменных (проблема безопасности) и получите много поврежденных выходных данных.
Другой недостаток заключается в том, что тот же параметр, который позволяет использовать <?=, совпадает с тем, что позволяет открывать теги PHP с помощью всего <?, поэтому отключение этого параметра не только приведет к открытию тех конкретных переменных, которые вы пытались отобразить, но также отобразит любой код PHP внутри короткие теги.
personMr. Llamaschedule26.10.2011
comment
В PHP5.4 и выше синтаксис <?= доступен всегда.
- personceejayoz; 26.10.2011
comment
Ха, это интересно узнать. Я должен иметь это в виду.
- personMr. Llama; 26.10.2011
Это не переносно. Для его отключения есть параметр конфигурации до 5.4, поэтому, если вы переместите свой скрипт на сайт, где он отключен, он сломается.
Кроме того, на мой взгляд, это менее явно. Разницу между <?= func() ?> и <? func(); ?> легко упустить, но она важна.
personhair raisinschedule26.10.2011
comment
В PHP5.4 и выше синтаксис <?= доступен всегда.
- personceejayoz; 26.10.2011
comment
Абсолютно верно. Также относится ко всем укороченным ‹? теги. Я всегда использую ‹? Php на всякий случай.
- personjcrowson; 26.10.2011
Вы можете использовать <? и <?= только в том случае, если короткие теги включены при работе с PHP. Фактическая причина не использовать его заключается в том, что он несовместим с объявлением xml. Если вы пытаетесь вывести xml с расширением php и у вас включены короткие теги, вам нужно сделать что-то вроде <<??>? .. Я полагаю, вы можете просто отобразить строку.
personExplosion Pillsschedule26.10.2011
comment
Это была причина, по которой я однажды услышал, но не мог точно вспомнить, какой эффект это произвело.
- personandyg1; 26.10.2011
Я не понимаю всех этих разговоров о переносимости.
ВСЕГДА существует проблема переносимости. Не может быть apache - поэтому не используйте mod_rewrite. Не может быть PDO - поэтому не используйте подготовленные операторы. Не может быть mysql - поэтому не используйте сложные запросы. Не может быть PHP - поэтому простой HTML - наиболее совместимый формат, никогда не используйте что-либо еще из-за проблем с переносимостью!
personYour Common Senseschedule26.10.2011
comment
Если бы я мог сделать все, что мне нужно, без использования php и набрав всего 7 дополнительных символов, держите пари, я бы это сделал! Проблема переносимости в том, что это всегда компромисс. В случае с короткими тегами дополнительная работа настолько тривиальна, что делает ее бессмысленной, IMO
- personhair raisin; 26.10.2011
comment
@ Col.Shrapnel: Не то же самое. Если нет php, установите его. Если вы хотите начать использовать xml или переместить свои php-скрипты на сервер, который его использует, вам придется много переписывать ...
- personDennis; 26.10.2011
comment
@ Деннис ЧТО? начать использовать XML? Я использую его полностью. Что не так с XML?
- personYour Common Sense; 27.10.2011