Meine Aussage bezog sich auf den speziellen Fall hier, allgemein würde ich Output Buffering per se nicht als schlecht hinstellen.Was hat das Puffern der Ausgabe deiner Meinung für Nachteile?
So ist es vielleicht klarer:
Wenn man die Ausgabe puffert, nur um einen Header setzen zu können, sodass man weiterleiten kann, nachdem man bereits X Bytes (gepufferte) Ausgabe erzeugt hat, zeugt von schlechter Codequalität.
Wozu eine Ausgabe erzeugen, auch wenn sie nie gesendet wird?
Das wäre, als wenn ich bei einem Taschenrechner-Programm zwei Zahlen auf allen möglichen Weisen miteinander verrechne (+, -, /, *) und erst am Ende feststelle, dass der Nutzer nur einen von den Operatoren ausgewählt hatte.
All diese Probleme kommen aber auch daher, dass keine Trennung zwischen Logik und View stattfindet.
Zu den Meta-Tags: Jetzt weiß ich, wie du es gemeint hattest. Sie als Sicherheitsbarriere zu gebrauchen, würde ich aber mir äußerster Vorsicht genießen (d. h. gar nicht)!
Wo wir schon beim Thema Sicherheit sind: Nach einer header()-Weiterleitung am besten immer exit() aufrufen.