4.4.5 Einbetten von Programmteilen
Zum Einbinden von PHP-Teilen verwendet man include
oder require
. Hiermit wird genau an der Stelle im PHP-Code der Inhalt einer externen Datei eingebunden. Stehen include
oder require
innerhalb einer Funktion, so gilt der gesamte eingebundene Code auch nur im Inneren dieser Funktion.
Welche Daten werden typischerweise in externe Dateien ausgelagert?
- Konfiguraiontsdateien
- Klassen (gut erkennbar daran, dass die Klassennamen mit einem Großbuchstaben anfangen)
- Dateien, die HTML-Syntax z.B. für Header oder Footer enthalten
Alle einzubindenden Dateien sollte PHP-Sourcecode enthalten und als Dateityp .php
bekommen.
Die Tabelle unten bietet eine Übersicht über die Funktionen und deren Erklärung:
Funktion | Erklärung |
---|---|
include |
Liest eine Datei ein und wertet diese aus. Es wird eine Warnung ausgegeben, wenn die Datei nicht eingelesen werden kann. |
require |
Liest eine Datei ein. Das Programm wird abgebrochen, wenn die Datei nicht eingelesen werden kann (Fatal Error). |
include_once bzw. require_once |
Einmal eingebundener Code wird nicht nochmals eingebunden. |
Anstelle von include 'pfad/dateiname.php'
können auch Klammern include('pfad/dateiname.php')
verwendet werden. Dies ist jedoch eine ältere Schreibweise und kommt aus einer Zeit, in der include
, require
sowie include_once
und require_once
als PHP-Funktionen betrachtet wurden.
Typischerweise verwendet man require_once
zum Einbinden von Klassen und include
für Programmteile, die nicht unbedingt im Programmablauf benötigt werden. Wenn man sich unsicher ist, welchen der vier Befehle zum Einbinden man nutzen sollte, dann ist require_once
zu empfehlen.
Profitipp: Systemunabhängig funktioniert nachfolgende Syntax, welche die Nutzung von DIRECTORY_SEPARATOR
beinhaltet, um den korrekten Pfadtrenner für das Betriebssystem zu verwenden.