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. Wenn man PHP als Markup-Präprozessor betrachtet, was Anfänger erst einmal tun, ist es nur konsistent, ?> zu notieren.
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.
Mathias