Häufig wird zum einbinden von Content die include() Funktion von PHP genutzt. Ich möchte zeigen wie man diese nutzt und vorallem worin der Unterschied mit und ohne _once besteht.
Worin besteht der Unterschied zwischen include() und include_once() ?
include()
Wenn eine Datei nicht gefunden wurde, wird eine Warnung ausgegeben. Genauer gesagt eine E_WARNING. Das Script wird dennoch weiter fortgesetzt, auch ohne die inkludierte Datei.
include_once()
Wenn die Datei nicht gefunden wurde, wird ein Fehler ausgegeben. Genauer ein E_ERROR. Das Script wird an dieser Stelle abgebrochen und nicht weiter ausgeführt.
Fazit
In beiden Fällen wird eine Fehlermeldung ausgegeben, was jedoch auf verschiedene Arten auch unterbunden werden kann.
Der Nutzen der beiden Funktionen ist dennoch identisch. Wird eine inkludierte Datei benötigt, ist die _once Variante zu nutzen, andernfalls reicht das normale include().
Include und Require – was denn nun noch alles?
Require ist fast identisch dem include. Wir haben gelernt, dass include() im Fehlerfall ein E_WARNING ausgibt, weiterhin aber das Script ausführt. Die Funktion require() hingegen gibt wie auch include_once() ein E_ERROR aus und beendet das Script.
Nutzung
Wenn die Scriptbeendung mit E_ERROR erwünscht ist, kann die PHP Funktion require() genutzt werden, da es etwas schlanker als include_once() ist. Weiter sind keine Unterschiede bekannt. Auch in der Dokumentation sind keine anderen Unterschiede als die bisher genannten sichtbar.
Beispiel für die Funktionen
Möchte man nicht doppelt programmieren oder häufig genutzt Scripte einsetzen (wie Funktionen, Klassen, Librarys), nutzt man die include Funktion. Man kann dann die Funktionen der inkludierten Datei abrufen und nutzen.
library.php
<?php function testversuch () { $string = 'Test erfolgreich'; return $string; } ?>
Nun nutzen wir unsere Hauptdatei, um die library.php anzusteuern und die enthaltene Funktion zu nutzen.
index.php
<?php include('library.php'); echo testversuch(); ?>
Als Ausgabe müssten wir beim ausführen der index.php erhalten:
Test erfolgreich
Marcus alias Speedy86 ist Administrator dieser Webseite und veröffentlicht unter andem News und interessante Artikel rund um WordPress, Suchmaschinenoptimierung, Programmierung und Webdesign. Im Webmaster-Glossar.de gibt es viel wissenswerten Stoff für Webmaster, Webworker bzw. Selbständige im Internet.Artikel:
Bereits 439 Artikel verfasst!