![]() Technikerschule Nördlingen |
Programmierung dynamischer Internetseiten
|
![]() |
Einbindung von anderen Dateien, Bibliotheken Bei PHP muss das gesamte Programm nicht in einer einzigen Datei stehen, sondern es können beliebig viele weitere Dateien eingebunden werden. Eingebunden werden Dateien mit der include()- oder der require()-Anweisung. In beiden Fällen wird die angegebenen Datei eingelesen und ausgewertet. Include()- und require() arbeiten ähnlich und haben manche Gemeinsamkeiten. Die Auswahl der richtigen Anwendung hängt von der Aufgabe ab. Beispiele:
Im ersten Beispiel wird eine Datei "funktionen.inc" im Unterverzeichnis "inc" eingebunden, im zweiten die Datei "bibliothek.php" im gleichen Verzeichnis wie das aufrufende Skript. Wichtig ist, dass beim include()- oder require()-Befehl vom PHP-Parsing-Modus in den HTML-Modus geschaltet wird und bei Rückkehr in das aufrufende Skript wieder zurück vom HTML- in den PHP-Modus. Deshalb muss jeder PHP-Code innerhalb der eingebundenen Dateien umschlossen werden von gültigen PHP-Start- und Ende-Tags. include() unterscheidet sich von require() dadurch, dass die include-Anweisung jedesmal neu ausgewertet wird, sobald sie auftritt (und nur zur Ausführungszeit). Dagegen wird die require()-Anweisung beim ersten Auftreten mit der angegebenen Datei ersetzt, egal ob sie einzubinden ist oder nicht (innerhalb von bedingten Anweisungen, z.B. bei if auch dann, wenn das ausgewertete Argument FALSE ergeben hat). Anders als include() wird require() immer die angegebene Datei einlesen, auch dann, wenn die Programmzeile, in der sie steht, nicht ausgeführt wird. Wenn Sie eine Datei nur bedingt einlesen wollen, benutzen Sie include(). Die bedingte Anweisung würde require() nicht davon abhalten, die Datei zu laden. Innerhalb von Schleifen tritt der Effekt auf, dass, obwohl die den require()-Befehl enthaltende Zeile mehrfach angesprungen wird, die entsprechende Datei trotzdem nur genau einmal eingelesen (ausgeführt) wird. Sie können also require() nicht innerhalb von Programm-Schleifen einsetzen. Deshalb, und wenn Sie verschiedene Dateien einlesen wollen, müssen Sie in Schleifen den Befehl include() benutzen. Wird eine Datei per include() oder require() eingebunden, dann "erbt" der darin enthaltene Code die bis zur Skriptzeile mit der include()- oder require()-Anweisung definierten Variablen und deren Inhalt. Alle innerhalb der eingebundenen Datei Definitionen von Variablen stehen ab dieser Zeile zur Verfügung. Steht die include()- oder require()- Anweisung innerhalb einer Funktion, wird der darin stehende Code behandelt, als ob er innerhalb der Funktion stehen würde.
|
||||||||||||||||
|