Endtag PHP fehlt bei einigen Dateien

  • Betroffene App
    WoltLab Suite Forum

    Guten Abend,

    ich möchte gerne folgenden Fehler melden, den ich soeben beim öffnen der Dateien in /var/www/vhosts/mtx-network.de/forum.mtx-network.de/core/lib/system/option/user entdeckt habe.

    Wie man sieht fehlt das Endtag ?>

    Ich nehme mal an, dass dieser Fehler auch in anderen Dateien besteht (zumindest in dem Ordner mehrmals), daher bitte ich um die Behebung dieses minimalen Fehlers.

    Einige würden jetzt sagen bringt doch gar nichts, falsch, solche Dateien erhöhen die Ladezeit einer Webseite, da der Server diese selbstständig bearbeiten muss.

    Gruß

    Xytronix

  • 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.

  • sehr schlechter Grund, werde ich nie machen da es für mich kein anständiges Programmieren ist. Daher ein No-Go aus meiner Sicht hin.

    Ich bin mir nicht sicher, aber ich meine mit einem schließenden Tag am Ende der Dateien wirst du im Pluginstore abgelehnt. Oder habe ich das falsch in Erinnerung?

    • Offizieller Beitrag

    Hallo,

    das Weglassen des schließenden PHP-Tags ist bei reinen PHP-Dateien der empfohlene Weg, unter anderem um Whitespaces am Ende der Datei nicht an den Browser aufzugeben - letzteres würde mit dem Output Buffering kollidieren. Insbesondere bei der Arbeit mit einem VCS ist es üblich, Dateien mit einer einzelnen Leerzeile enden zu lassen, bei einem schließenden PHP-Tag wäre das nicht möglich.

    Die Performance ist entweder gleich oder verschwindend gering besser, dass die Datei ohne schließenden PHP-Tag (der implizit eh am Ende steht) auf einmal im Browser verarbeitet wird, ist nicht korrekt und entbehrt jeglicher Grundlage. Im Browser werden üblicherweise nur Skript-Sprachen wie beispielsweise JavaScript ausgeführt, der PHP-Interpreter hingegen läuft ausschließlich Server-seitig, wahrscheinlich kommt der Irrtum dadurch zustande.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!