Wenn ich eine include
oder require
Anweisung innerhalb einer Bedingung, die false
auswertet, wird der PHP-Interpreter die Include-Datei insgesamt überspringen, oder wird es nur für den Fall laden?PHP-Verhalten von include/require innerhalb konditionaler
Ein Beispiel wäre:
if ($some_user_var) {
require 'this.php';
} else {
//do stuff
}
ich irgendwo gelesen, dass require
immer vom Interpreter enthalten sein, unabhängig von den bedingten, aber include
nicht. Wenn dies der Fall ist, kann der Wechsel von require
zu include
aufgrund des reduzierten I/O- und Parsing-Overhead eine freie Beschleunigung bedeuten.
Es macht wahrscheinlich einen Unterschied, wenn ich einen Präprozessor wie eAccelerator laufen lasse, aber nehmen wir an, dass ich nicht tue.
Ich denke, dass was Sie irgendwo gelesen haben war etwas wie folgt: 'require' wird die Ausführung mit schwerwiegenden Fehler abbrechen, während 'include' wird nicht (bei Fehler, natürlich). Was wie 'require' interpretiert werden kann, wird immer Ihre Datei einschließen oder das Skript wird sterben. – acm
Hast du zufällig dieses Buch? http://www.amazon.co.uk/PHP-World-Wide-Web-Quickstart/dp/0321245652 Mir wurde diese Lüge gelehrt! – Matthew