Pекоммендуется ли писать <?php в самом начале файла?
Что-то слышал про то, что в качестве самого первого открывающего <? рекоммендуется ставить <?php, но не могу нагуглить зачем. Кажется (но не разобрался тогда почему) на макоси файлы c <? просто вываливали содержимое при инклюде, как будто это html. Помогите понять как следует делать.
ЗЫ. Понимаю что «short_open_tag = on» само по себе нерекоммендуемо, но уже давно пишем так, и проблем пока не было.
Никогда не слышал ничего подобного про первый открывающий тег.
Про «вываливание содержимого» при включенном short_open_tag — тоже. Скорее всего это была какая-то ошибка или опечатка.
Для «On случая» никакие рекомендации не нужны, писать можно как угодно.
Если хочется максимальной совместимости, то в короткой форме пишем только <?=, а в остальных случаях — в длинной.
В короткой форме <?= не требует включённого short_open_tag только в версии PHP 5.4 и более новых.
Поэтому, если понятие «максимальная совместимость» включает в себя совместимость не только с настройками по умолчанию (то есть с выключенным short_open_tag), но также и с более ранними версиями PHP (например, 5.2.x), то следует во всех случаях записывать в длинной форме.
Вы сами и ответили на свой вопрос. <? будет работать только с short_open_tag = on (в противном случае вываливая все содержимое), а <?php — с любым значением этой переменной.
Если пишите чисто для себя — пишите так, как вам удобно. Если для кого-то — то лучше использовать <?php
Спасибо. Дело в том, что short_open_tags было On когда вываливало на макоси. Починил тем что вставил <?php в качетсве первого, но остальные остались <?
То что при short_open_tag = off обязательно писать <?php это понятно, какие рекоммендации для On случая?