Tach!
Was ist denn besser daran, am Dateiende noch auf einen oder zwei weitere Abschlüsse zu bestehen? Es ist Schluss - ob da noch ein Semikolon und ein ?> kommt, ändert nichts mehr daran. Ich sehe es eher als übertriebene Gründlichkeit, so etwas zu fordern.
Ich fordere es nicht. Aber wie du in diesem Thread siehst, entspricht es zunächst der Erwartung der Webautoren, weil sie die Regel gelernt haben, dass auf einen öffnenden Tag ein schließender folgt.
Dann haben sie was falsch gelernt. Viele Elemente erfordern kein schließendes Tag, bei manchen ist es sogar verboten.
Wenn man PHP als Markup-Präprozessor betrachtet, was Anfänger erst einmal tun, ist es nur konsistent, ?> zu notieren.
Sollen sie es doch tun, mit den eventuellen Nebenwirkungen und ohne dass sie gezwungen werden.
Ich halte es für keine saubere Lösung, Problemen wie »Headers already sent« so zu begegnen. Diese basieren auf dem Widerspruch zwischen PHP als Präprozessor versus PHP als reiner Code in separaten Dateien. Langfristig wäre hier eine Trennung, z.B. durch unterschiedliche Dateinamen, hilfreich. Klar, kurzfristig kann man dem nur mit Coding Guidelines beikommen.
Langfristig würde das nur noch mehr Chaos verursachen, wenn es nun zwei PHP-Datei-Typen gibt. Der Nutzen ist äußerst gering, eine Abwärtskompatibilität nicht gegeben - und das nur wegen eines angeblichen Schönheitsfehlers..
dedlfix.