Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03555.jsonl.gz/2264

Ich nehme stark an, dass jeder PHP-Programmierer die Funktionen “include()” und “require()” kennt. Doch was ist eigentlich der Unterschied? Viele kennen den nicht, und desshalb schaffen es die Zwei in diesen Post.
Notiz am Rande: Wer tatsächlich nicht weiss, was die Funktionen machen, soll bitte hier nachlesen: http://www.php.net/manual/de/function.include.php
Und was ist jetzt der Unterschied?
Der einzige Unterschied der Funktionen “include” und “require” ist das Verhalten im Falle dass die angegebene Datei nicht existiert.
In diesem Falle erzeugt “require” einen Fatal Error, was die Ausführung des Scriptes stoppt.
“include” erzeugt in diesem Falle aber “nur” eine Warnung, was die Ausführung des Scriptes nicht abbricht.
Was soll ich den nun verwenden?
Wenn ihr Files einbindet, die unbedingt für die weitere Ausführung des Scriptes erforderlich sind, verwendet ihr besser “require”. Dass unterbricht die Ausführung schon bevor Schaden angerichtet werden kann, falls das einzubindende File nicht gelesen werden kann. Beispiele hierfür wären Klassen, die ihr in separaten Files geschrieben habt, und die ihr im Script verwendet.
Die zweite Variante, “include”, verwendet man für Files, die, falls sie fehlen, die weiter Ausführung des Scripts nicht beeinträchtigen. Ein Beispiel: Nehmen wir an, du willst die Zugriffe auf deine Seite zählen. Dazu schreibst du ein Script, welches du nun bei jedem Aufruf der Seite einbindest. Falls diese Script plötzlich nicht mehr existieren sollte, würde es die weitere Ausführung des “Haupt”-Scripts nicht beeinträchtigen, da es nicht auf den Zähler angewiesen ist. Wir verwenden also “include” um dem User trotzdem eine Seite anzuzeigen. (Es würde hier sogar Sinn machen, “include_once” zu verwenden.)