Почему Symfony рекомендует отключать php_short_tags - PullRequest
8 голосов
/ 25 октября 2011

Я впервые устанавливаю платформу Symfony2, и на экране веб-конфигурации сказано отключить короткие теги php.Есть ли причина для этого, кроме аргументов, которые конфликтуют с xml или несовместимостью сервера?Какие-либо проблемы, специфичные для Symfony?

Ответы [ 3 ]

12 голосов
/ 26 октября 2011

ИМХО, не стесняйтесь включать short_open_tag, если вы предпочитаете, и это безопасно игнорировать это предупреждение, выданное Symfony.Черт, я бы выступил за полное удаление чека.

Две возможные проблемы, на которые вы ссылаетесь, - это единственные теоретические проблемы, с которыми вы можете столкнуться при использовании коротких открытых тегов, но на практике это никогда не былопроблема для меня за 10 лет разработки приложений PHP.

Даже в приложениях с интенсивным использованием XML маловероятно, что заголовок XML анализируется PHP в более чем нескольких местах, и в этих нескольких случаяхпроблему легко обойти, например, повторив сам заголовок XML.В эпоху после XHTML маловероятно, что вы будете разрабатывать любое веб-приложение с заголовком XML в шаблоне PHP.Спорный аргумент для начала.

Что касается конфигурации сервера, то даже средний общий веб-хостинг позволяет изменять конфигурацию PHP в наши дни, и этот параметр, в частности, может даже быть установлен во время выполнения на удаленном компьютере.вероятность, что ты не можешь.И кто в любом случае развертывает приложения Symfony на общем хостинге?

Короткие открытые теги нуждаются в некоторой любви, и они получают некоторые в PHP 5.4, где синтаксис echo (<?= ?>) будет включен независимо от настройки short_open_tag,Кроме того, несмотря на то, что некоторые могут утверждать, короткие теги ни в коем случае не являются устаревшей функцией PHP, и они всегда здесь.

Если вы используете шаблоны PHP и предпочитаете синтаксис коротких тегов, сделайте это!

4 голосов
/ 26 октября 2011

AFAIK, в Symfony 1 или 2 нет ничего конкретного, что могло бы сломаться, если вы используете короткие теги, но, исходя из личного опыта, они не стоят того небольшого количества печати, которое вас спасет. Вы упоминаете две обоснованные жалобы - конфликты XML и несовместимость сервера Это достаточная причина, чтобы не использовать их. Перемещение проектов с одного сервера на другой и замена коротких тегов - это раздражающая трата времени:)

2 голосов
/ 27 октября 2011

Как правило, никогда не рекомендуется использовать short_tags в основном из-за несовместимости с сервером.

Несовместимость с сервером

Не каждыйНа PHP-сервере включена short_tags.Поэтому, если вы используете короткие теги в любом месте проекта, и когда-нибудь в будущем они будут помещены на сервер с отключенными короткими тегами, ваш сайт теперь не работает.Вы должны либо просмотреть свой код и найти / заменить, либо включить короткие теги на сервере, которые у вас могут не быть в любом случае.

Symfony

Symfony делает несколько предложений Best Practice .Это не обязательно то, что будет создавать или нарушать разработку с использованием Symfony, но это хорошая практика, которой следуют многие профессиональные разработчики.Отказ от использования short_tags - это хорошая вещь для практического применения.

В любом случае, все короткие теги действительно избавляют вас от необходимости вводить несколько дополнительных символов время от времени.Если вы действительно заинтересованы в наборе лишних символов, вам действительно следует использовать IDE или текстовый редактор, который поддерживает фрагменты, например Sublime Text .

...