Einführung
So steht es in der Dokumentation der Zend-Engine (framework.zend.com/manual/1.12….php-file-formatting.html). Ihr werdet in keiner modernen Anwendung mehr am Ende einer PHP-Datei ein "?>" finden. Es sollte nur noch für die Abgrenzung von HTML-Code innerhalb von PHP-Code verwendet werden.
Alles anzeigen
Warum weglassen?
Wenn wir include(_once) oder require(_once) benutzen und am Ende der Datei nach dem schließenden PHP-Tag ein Whitespace ist, wird dieser schon gesendet, wodurch wir nach dem Einbinden dieser Datei keine weiteren Veränderungen am Response-Header durchführen können. Solltet ihr an einem bereits bestehen Projekt alle ?> am Ende eurer Dateien entfernen wollen, müsst ihr das ganze nicht per Hand machen. "Thewebhatesme" hat ein entsprechendes Script entwickelt, dass euch die Arbeit abnimmt: thewebhatesme.com/entwicklung/…n-schliessenden-php-tags/ (Linux Only)
Quelle
php.net/manual/de/language.bas…nstruction-separation.php
Für Dateien, welche nur PHP-Code beinhalten, ist der schliessende Tag ("?>") nicht zugelassen. Er wird von PHP nicht benötigt und das Weglassen verhindert, dass versehentlich Leerzeilen in die Antwort eingefügt werden.
So steht es in der Dokumentation der Zend-Engine (framework.zend.com/manual/1.12….php-file-formatting.html). Ihr werdet in keiner modernen Anwendung mehr am Ende einer PHP-Datei ein "?>" finden. Es sollte nur noch für die Abgrenzung von HTML-Code innerhalb von PHP-Code verwendet werden.
PHP-Quellcode
- <?php
- /* Sinnloses Beispiel */
- if($_POST['password'] == '123456') {
- /* Hier okey (Meiner Meinung zwar unschön, aber okey. ;)) */ ?>
- <div class="container">
- <h1>Das Ultimative Passwort</h1>
- <p>Wie eine neue Studie der Harvard University ergab ist 123456 das stärkste Passwort. NICHT!</p>
- </div>
- <?php
- }
- else {
- echo 'Perfekt';
- }
- // ?> !!! Nein, nicht am Dateiende. Sollten hier danach noch Whitespaces oder neue Zeilen kommen, werden diese alle ausgegeben.
Warum weglassen?
Wenn wir include(_once) oder require(_once) benutzen und am Ende der Datei nach dem schließenden PHP-Tag ein Whitespace ist, wird dieser schon gesendet, wodurch wir nach dem Einbinden dieser Datei keine weiteren Veränderungen am Response-Header durchführen können. Solltet ihr an einem bereits bestehen Projekt alle ?> am Ende eurer Dateien entfernen wollen, müsst ihr das ganze nicht per Hand machen. "Thewebhatesme" hat ein entsprechendes Script entwickelt, dass euch die Arbeit abnimmt: thewebhatesme.com/entwicklung/…n-schliessenden-php-tags/ (Linux Only)
Quelle
php.net/manual/de/language.bas…nstruction-separation.php
14.283 mal gelesen