veröffentlicht am: 10.05.2020 zuletzt aktualisiert am: 07.02.2023
Oft müssen wir Code aus anderen Quellen einbinden oder unsere Skripte in mehrere Dateien unterteilen, um die Übersicht zu behalten.Zu diesem Zweck stellt uns PHP diverse Optionen zur Verfügung, von denen ich dir nun PHP include, require, include_once und require_once vorstellen werde.
Sowohl include als auch require sind geeignet, um Dateien einzubinden. Im folgenden Beispiel wird die Datei include_test.php mit beiden Funktionen eingebunden.
include('include_test.php'); // test require('include_test.php'); // test
<?php echo 'test'.'<br>'; ?>
So kannst du auch Variablen aus anderen PHP-Dateien einbinden.
include('include_var.php'); echo $string; // Hello world require('include_var.php'); echo $string; // Hello world
<?php $string = 'Hello world'; ?>
Der wesentliche Unterschied zwischen include und require ist das Verhalten, wenn keine Datei gefunden wird.Bei include wird eine Warnung ausgegeben und das Skript weiter ausgeführt. Der Rückgabewert ist dabei false.
var_dump(include('keine_datei.php')); // Warning: include(keine_datei.php): failed to open stream: ... // Warning: include(): Failed opening 'keine_datei.php' for // inclusion (include_path='C:\xampp\php\PEAR') in … // bool(false) echo 'test'; // test
require gibt eine Fehlermeldung zurück und bricht die Ausführung des Skriptes ab.
var_dump(require('keine_datei.php')); // Warning: require(keine_datei.php): failed to open stream: ... // Fatal error: require(): Failed opening required 'keine_datei.php' // (include_path='C:\xampp\php\PEAR') in ... echo 'test';
Dennoch können auch mit include Fehler auftreten. Wenn du versuchst, eine Datei mit einem Funktionsnamen, der bereits existiert, einzubinden, erhältst du eine Fehlermeldung und die Ausführung des Skriptes wird unterbrochen.
<?php function test(){} ?>
include('include_function.php'); include('include_function.php'); // Fatal error: Cannot redeclare test() (previously declared in C:\...\include_function.php:2) in C:\...\include_function.php on line 2
require_once und include_once verhalten sich sehr ähnlich wie require und include.Der Hauptunterschied hier ist, dass die Dateien, die bereits von einer anderen Funktion geladen wurden, nicht nochmals laden.Dadurch können wir Fehlermeldungen durch doppelte Funktionsnamen vermeiden.
var_dump(require_once('include_function.php')); // int(1) var_dump(include_once('include_function.php')); // bool(true)
Mit require können wir zwingend notwendige Dateien für unser Skript einbinden.include ist besser für optionale Dateien geeignet, da die Skriptausführung durch das Fehlen einer Datei nicht abgebrochen wird.include_once und require_once kannst du verwenden, wenn eine Datei höchstens einmal eingebunden werden soll.
Wenn du Fragen, Anmerkungen, Anregungen, Lob oder Kritik hast, schreibe bitte einen Kommentar.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig