Mailinglisten-Archive |
>Hallo Liste, >gibt es zwischen Include und Require auch einen Geschwindigkeitsunterschied? >Und falls ja, welche der beiden Möglichkeiten ist dann schneller? >MfG >Uli Hi Uli, Der require()-Befehl setzt an seine Stelle den Inhalt der angegebenen Datei (ähnlich dem #include von C). Wichtig: PHP kehrt zu Beginn der per include() oder require() eingebundenen Dateien vom PHP- in den HTML-Modus und am Schluß der Datei wieder vom HTML- in den PHP-Modus zurück. Falls innerhalb dieser Dateien also PHP-Code ausgeführt werden soll, muss dieser eingeschlossen werden von gültigen PHP-Start- und PHP-Ende-Marken . Require() ist keine PHP-Anweisung, sondern eine spezielle Sprachanweisung. Sie ist anderen Regeln unterworfen als Funktionen. Einerseits unterliegt sie keinen Kontroll-Srukturen, andererseits gibt sie keinen Wert zurück. Der Versuch, von einem require()-Aufruf einen Rückgabewert zu erhalten, führt zu einem Parse-Fehler. Anders als include() wird require() immer die angegebene Datei einlesen, auch dann, wenn die Programmzeile, in der sie steht, nicht ausgeführt wird. Wenn sie eine Datei nur bedingt einlesen wollen, benutzen sie include(). Die bedingte Anweisung würde require() nicht davon abhalten, die Datei zu laden. Innerhalb von Schleifen tritt der Effekt auf, dass, obwohl die den require()-Befehl enthaltende Zeile mehrfach angesprungen wird, die entsprechende Datei trotzdem nur genau einmal eingelesen (ausgeführt) wird. Sie können also require() nicht innerhalb von Programm-Schleifen einsetzen. Deshalb, und wenn sie verschiedene Dateien einlesen wollen, müssen sie in Schleifen den Befehl include() benutzen. Vom Einlesen selber gibts keinen Unterschied. Alles klar ? MFG Wolfgang
php::bar PHP Wiki - Listenarchive