Rechtsstaatsvermisser: include will anscheinend nicht

Beitrag lesen

Ich vermute, dass das include_once verhindert, dass die Datei inkludiert wird, denn die Datei war ganz sicher zuvor bereits inkludiert.

Was steht denn drin?

Wenn Dein Include so aussieht

<?php
$foo = tuDies();

also Schritte einfach ungekapselt abgearbeitet werden, dann ist include_once() falsch und include() bzw. require() richtig, weil diese Datei an der Stelle aufgerufen werden muss damit $foo = tuDies(); erneut abgearbeitet wird. Wenn in Deinem Include aber

  • Funktionen,
  • Klassen oder
  • Konstanten

definiert werden, dann musst Du include_once(), in vielen Fällen besser: require_once() nehmen weil der auf das include() bzw. require() folgende Versuch, Funktionen, Klassen und Konstanten neu zu definieren, zu einem Fehler führt.

(Das fällt übrigens unter den vierten und fünften Punkt der Liste der "Baustellen".)