Welcome back,

lass uns heute schauen wie wir unseren Code gut strukturiert auf mehrere Dateien verteilen und diese sinnvoll einbinden können.

<h3>Dateien einbinden</h3>

Ich hab' dir gezeigt dass du HTML und PHP mischen kannst und ich denke du hast mittlerweile herausgefunden dass das auch genauso gut funktioniert wie ich gesagt hatte - soweit so schön. Sicher hast du seit wir mit dem Lernen begonnen haben auch schon die ein oder andere, kleine Anwendung zustande gebracht und ein paar Skripte geschrieben. Aber auch wenn alles funktioniert und super läuft wirst du feststellen, dass der Code in so einer Datei recht schnell recht viel werden kann, und es dauert nicht lange und schon ist man an dem Punkt an dem man eine Weile scrollen muss um eine Stelle zu finden - eben weil alles so ineinander und unstrukturiert ist. Damit ist Schluss, jetzt wird aufgeräumt.

In PHP gibt es die Anweisungen include und require mit denen Dateien eingebunden werden können, was recht easy ist - ich habe oben noch die Fehlerausgabe aktiviert:

<pre class="lang:default decode:true">&lt;?php # Um Fehler im Browser auszugeben: ini_set('display_errors', true); error_reporting(E_ALL); # Datei einbinden die im gleichen Verzeichnis liegt wie diese include './datei.php'; # Geht mit require genauso require './datei.php'; ?&gt;</pre>

<h4>include</h4>

Mit include und nachfolgend der Angabe des Dateinamens kannst du eine Datei einbinden (inkludieren) - macht natürlich Sinn wenn die Datei die eingebunden werden soll auch existiert, das solltest du vorher prüfen. An genau der Stelle an der die include Anweisung steht wird dann die zusätzliche PHP-Datei geladen in der wasauchimmer für ein Code stehen kann. Es ist praktisch so als wie wenn der Inhalt der eingebundenen Datei an dieser Stelle stehen würde.

Die include Anweisung kannst du natürlich durchaus mehrmals reinschreiben, dann wird die Datei eben öfter eingebunden - macht eher selten Sinn aber natürlich gibt es auch dafür Einsatzzwecke.

Wenn die eingebundene Datei nicht existiert, wird ein Fehler der Kategorie E_WARNING erzeugt, das heißt dass ein Fehler auftritt (je nach Einstellung wird der im Browser dann angezeigt oder nicht) aber immerhin läuft das Programm trotzdem fröhlich weiter.

<h4>require</h4>

Mit require passiert genau das gleiche, d.h. eine Datei wird eingebunden. Der Unterschied ist, dass PHP einen fatalen Fehler (fatal error) wirft und das Programm sofort abgebrochen wird wenn die Datei nicht existiert.

<h4>include_once und require_once</h4>

Analog zu den beiden genannten Anweisungen gibt es das gleiche nochmal als include_once und require_once die entsprechend dasselbe tun nur mit dem Unterschied dass hierbei eine Datei nicht doppelt eingebunden werden kann.

Erstes Praxisbeispiel