If you are embedding this in XML, you had better place the ending '?>' there or the XML parser will puke on you. XML parsers do not like processing instructions without end tags, regardless of what PHP does.
If you're doing HTML like 90% of the world, or if you are going to process/interpret the PHP before the XML parser ever sees it, then you can likely get away with it, but it's still not best practice for XML.
Разделяне на инструкции
Също както в C и Perl, PHP изисква инструкциите да бъдат завършвани с точка и запетая на края на всеки израз. Затварящият таг на блок от PHP код автоматично заключва в себе си и точка и запетая; не е необходимо да завършвате с точка и запетая последния ред от PHP блок. Затварящият таг на блока ще включи и непосредствено последващия знак за нов ред, ако има такъв.
<?php
echo 'Това е проба';
?>
<?php echo 'Това е проба' ?>
<?php echo 'Пропуснахме последния затварящ таг';
Забележка: Затварящият таг на PHP блок в края на файл е незадължителен и в някои случаи пропускането му е полезно, в случай че се използва include() или require(), така че да не се появят нежелани празнини в краищата на файловете и да можете да добавяте заглавки към отговора по-късно. Това е удобно и когато използвате буфериране на изхода и не искате да се появява нежелана празнина в края на частите, генерирани от включваните файлове.
Разделяне на инструкции
05-May-2008 08:42
17-Aug-2006 01:44
Do not mis interpret
<?php echo 'Ending tag excluded';
with
<?php echo 'Ending tag excluded';
<p>But html is still visible</p>
The second one would give error. Exclude ?> if you no more html to write after the code.
