Du liest:
Dateien und Variablen einbinden mit PHP include und require

Dateien und Variablen einbinden mit PHP include und require

von Patrick
10.05.2020
Jetzt PHP programmieren lernen

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.

1. Dateien und Variablen einbinden mit PHP include und require

Sowohl include als auch require sind geeignet, um Dateien einzubinden. Im folgenden Beispiel wird die Datei include_test.php mit beiden Funktionen eingebunden.

<?php
	echo 'test'.'<br>';
?>
include('include_test.php');
// test
require('include_test.php');
// test

So kannst du auch Variablen aus anderen PHP-Dateien einbinden.

<?php
	$string = 'Hello world';
?>
include('include_var.php');
echo $string;
// Hello world
require('include_var.php');
echo $string;
// Hello world

1.1. Was ist der Unterschied zwischen PHP include und PHP require?

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

2. PHP require_once und include_once

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)

3. Fazit

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.



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren

Jetzt PHP programmieren lernen
04.05.2020

Zeilenumbrüche in PHP

von