Поскольку мой вопрос был помечен как дубликат этого вопроса, я думаю, что можно писать, почему NOT опускающий закрывающий тег ?>
может быть по некоторым причинам желательным.
- С полным синтаксисом инструкций по обработке (
<?php ... ?>
) исходный код PHP является действительным документом SGML, который может быть проанализирован и обработан без проблем с синтаксическим анализатором SGML.С дополнительными ограничениями это может быть также действительный XML / XHTML.
Ничто не мешает вам писать действительный код XML / HTML / SGML. PHP документация знает об этом.Выдержка:
Примечание. Также обратите внимание, что если вы встраиваете PHP в XML или XHTML, вам нужно будет использовать теги <? Php?>, Чтобы соответствовать стандартам.
Конечно, синтаксис PHP не является строгим SGML / XML / HTML, и вы создаете документ, который не является SGML / XML / HTML, точно так же, как вы можете превратить HTML в XHTML, чтобы он соответствовал XML или нет.
В какой-то момент вы можете захотеть объединить источники.Это будет не так просто, как просто сделать cat source1.php source2.php
, если у вас есть несоответствие, введенное путем пропуска закрывающих тегов ?>
.
Без ?>
Труднее сказать, если документ оставлен вРежим выхода PHP или режим игнорирования PHP (тег PI <?php
может быть открыт или нет).Жизнь становится проще, если вы постоянно оставляете свои документы в режиме игнорирования PHP.Это похоже на работу с хорошо отформатированными документами HTML по сравнению с документами с закрытыми, плохо вложенными тегами и т. Д.
Похоже, что в некоторых редакторах, таких как Dreamweaver, могут быть проблемы с открытым PI [1] .