Для разделения инструкций всегда используйте теги <?php ?>
, в место сокращенных <? ?>
. Это необходимо для соблюдения совместимости с Drupal, а также соблюдения переносимости PHP кода и его установки на различные платформы.
Также, не стоит использовать <? ?>
из-за проблемы внедрения xml-кода в php-документ.
Заметим, что начиная с Drupal 4.7 и вплоть до текущей версии, разделитель ?>
в конце файлов (modules,includes и т. д.), сознательно опущен. Полный текст обсуждения, которое привело этому решению можно прочесть в дискуссии no ?> needed at the end of modules ,суть обсуждения сводиться к следующему:
- Удаление закрывающего разделителя
?>
устраняет возможность нежелательного пробела в конце файлов,
которые могут вызвать ошибку вида «заголовок уже отправлен» («header already sent»), XHTML / XML валидации и других проблем. - Закрывающий разделитель
?>
опционален (см. closing delimiter at the end of a file is optional.) - PHP.net сама удаляет закрывающий разделитель
?>
в конце файлов (например: prepend.inc), так что это можно рассматривать как "передовой опыт"