Вы можете использовать short_open_tag
, которые должны быть включены в вашей конфигурации, но это не считается хорошей практикой, поскольку это работает, только если они включены - и они не всегда (может даже не по умолчанию)
Использование длинных тегов и echo / print может быть более продолжительным, да ... Но я бы рекомендовал использовать их, а не короткие теги.
Также обратите внимание, что вам может потребоваться экранировать ваши данные, если они получены из ненадежного источника и / или могут содержать HTML, который вы не хотите вставлять на страницу, чтобы избежать внедрения HTML / JS (см. htmlspecialchars ) :
РЕДАКТИРОВАТЬ после комментариев, чтобы добавить пару вещей о short_open_tag
:
Почему короткие открытые теги считаются (по крайней мере, мной ^^) плохая практика?
Прежде всего, после некоторой проверки они не включены по умолчанию:
Для PHP 5.3:
squale@shark:~/temp/php/php-5.3.0
$ grep 'short_open_tag' php.ini-development
; short_open_tag
short_open_tag = Off
squale@shark:~/temp/php/php-5.3.0
$ grep 'short_open_tag' php.ini-production
; short_open_tag
short_open_tag = Off
По умолчанию отключено в настройках «development
» или «production
».
Для PHP 5.2.10 (последняя версия PHP 5.2) :
squale@shark:~/temp/php/php-5.2.10
$ grep 'short_open_tag' php.ini-dist
short_open_tag = On
squale@shark:~/temp/php/php-5.2.10
$ grep 'short_open_tag' php.ini-recommended
; - short_open_tag = Off [Portability]
short_open_tag = Off
Отключено по умолчанию в настройках "recommended
"
Учитывая, что эти настройки по умолчанию иногда (часто?) хранятся в хостинге, опасно полагаться на short_open_tag
при активации.
(Я сам столкнулся с проблемой тех, кто отключен ... А когда вы не являетесь администратором сервера и не имеете необходимых прав для его изменения, это не весело ^^)
Если вам нужны цифры, вы можете взглянуть на Быстрое получение: short_open_tag
поддержка включена или выключена по умолчанию?
(Не является научным доказательством - но покажите, что использовать их для приложения, которое вы публикуете для общественности, может быть опасно)
Как вы сказали, когда они активированы, они конфликтуют с объявлением XML - значит, вы должны использовать что-то вроде этого:
<?php echo '<?xml version="1.0" encoding="UTF-8" ?>'; ?>
Учитывая, что короткие открытые теги существуют и могут быть активированы на сервере, который вы будете использовать, вы, вероятно, не должны использовать <?xml
когда-либо; очень плохо : - (
На самом деле, чтение php.ini-рекомендуемого PHP 5.2.10:
; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.
Тот из PHP 6 еще интереснее:
; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
(может быть то же самое в PHP 5.3; не проверял)
Были слухи короткие открытые теги могут быть удалены из PHP 6; учитывая ту часть php.ini, которую я только что опубликовал, она, вероятно, не будет ... но все же ...
Чтобы дать аргумент, указывающий на другое направление (в конце концов, я должен быть честным): использование коротких открытых тегов для файлов шаблонов (только) часто делается Примеры Zend Framework, использующие файлы шаблонов:
В наших примерах и документации мы
использовать короткие теги PHP:
Тем не менее, многие разработчики предпочитают
использовать полные теги для целей
проверка или переносимость. За
экземпляр, short_open_tag отключен
в файле php.ini.recommended, и
если вы шаблон XML в сценариях просмотра,
короткие открытые теги вызовут
шаблоны не проходят проверку.
( источник )
Напротив, для .php
файлов:
Короткие теги запрещены. За
файлы, содержащие только код PHP,
закрывающий тег всегда должен быть пропущен
( источник )
Я надеюсь, что эта информация будет полезной, и принесет какой-то ответ на ваш комментарий : -)