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.
Abgrenzung von Anweisungen
Wie in C oder Perl verlangt PHP, dass Anweisungen am Ende jedes Statements mit einem Semikolon beendet werden. Der schließende Tag eines Blocks mit PHP-Code impliziert automatisch ein Semikolon, Sie brauchen daher ein abschließendes Semikolon in der letzten Zeile des PHP-Blocks setzen. Der schließende Tag für den Block fügt das direkt nachfolgenden Zeilenumbruch-Zeichen ein, wenn es vorhanden ist.
<?php
echo 'Dies ist ein Test';
?>
<?php echo 'Dies ist ein Test' ?>
<?php echo 'Wir ließen den letzen schließenden Tag weg';
Hinweis: Der schließende Tag eines PHP-Blocks am Ende einer Datei ist optional, und in einigen Fällen ist das Weglassen hilfreich, wenn Sie include() oder require() verwenden, so dass ungewollte Whitespaces nicht am Ende einer Datei auftreten und Sie noch im Stande sind, später weitere Header an die Response hinzuzufügen. Es ist ebenfalls praktisch, wenn Sie Output Buffering verwenden und keine ungewollten Whitespaces am Ende eines durch die eingebundenen Dateien erzeugten Parts sehen wollen.
Abgrenzung von Anweisungen
05-May-2008 11:42
17-Aug-2006 04: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.
