INFOPORTAL BERLIN

Immer wiederkehrende Fragen einfach erklärt

PHP

PHP – Hypertext Preprocessor

PHP ist eine weit verbreitete Open Source Script-Sprache. Sie wird speziell für die Web Programmierung eingesetzt. Ein entscheidender Vorteil dieser Sprache ist, dass der Source Code direkt auf dem Server ausgeführt wird. Wer also im Debug Modus sich einmal solche eine Seite ansieht,PHP Ideen

findet nur die fertige Ausgabe. Der Quelltext wird nicht angezeigt. Ferner lässt sich PHP-Code problemlos in eine HTML Umgebung einsetzen. Da es sich hier um eine Server basierte Sprache handelt, müssen wir einen Webserver auf unserem Rechner installieren.

Grundlagen der PHP Sprachkonstrukte

 

Vorbereitung eines Webservers

Im Beitrag „Localhost installieren“ habe ich bereits die Installation der Entwicklungsumgebung von XAMPP angesprochen. Über diesen LINK kann das Programm bei Bedarf herunter geladen und installiert werden. Nach der Installation befindet sich dieses Programm standardmäßig unter „c:\xampp\“, wobei die Programmcode sich hinter dem Pfad „c:\xampp\htdocs\“ anlegen. Für die Übungen lege ich daher gleich einen Pfad mit der Bezeichnung /php an, welcher wie folgt eingetragen wird. – „c:\xampp\htdocs\php“. Für den Störungsfreien Ablauf sind noch ein paar Kleinigkeiten anzupassen.
Im Programmpfad „c:\xampp\apache\conf\“ befindet sich die Konfigurationsdatei von XAMPP.

Wir öffnen diese mit einem Editor und überprüfen ob mod_rewrite aktiviert ist.    mod_rewrite Darstellung

Mit diesem Modul sind wir in der Lage, URLs einfach zu manipulieren. Die Raute am Anfang der Zeile muss eventuell entfernt werden um diesen zu aktivieren. Im Regelfall ist dieser aber bereits aktiviert.

 

Der nächste Eintrag in dieser Konfigurationsdatei gibt an, in welchem Pfad wir per localhost unsere Übungsdateien aufrufen können.  

Die Dokumenten Root

Mit diesen Einträgen in der „DocumentRoot“ und der „Directory“ weisen wir den Browser mit localhost an, unsere Dateien dort zu finden.

 

Überprüfung der Installation

Um unsere Installation auf korrekte Funktion zu überprüfen legen wir gleich einmal unsere erste PHP-Datei in dem eingerichteten Pfad „c:\xampp\htdocs\php“ an. Mit einem Editor erstellen wir eine Datei und speichern diese unter dem Namen „phpinfo.php“ in dem Pfad ab. Der Quelltext besteht nur aus einem Befehlsaufruf.

Tragen wir also in diese neue Datei mit dem Namen phpinfo.php folgendes ein und speichern diese ab.

<?php phpinfo(); ?>

 

Den Server starten

Ab sofort müssen wir für die locale Ausführung unserer Übungsdateien in PHP den Apache Server unter XAMPP starten. 

Apache Server unter XAMPP

Wie wir hier erkennen können, wurde der Apache Server gestartet. Somit können wir ab sofort unsere erstellten Dateien im Browser mit dem Aufruf „localhost/name.php aufrufen und Ausführen lassen. Wenn später zusätzlich MySQL Funktionen hinzukommen, muss natürlich auch die Datenbankanwendung gestartet werden. 

Öffnen wir nun den Browser und geben im URL Feld den ersten Befehl ein » localhost/phpinfo.php « ! Wenn alles richtig eingestellt wurde, bekommen wir die komplette Information welche auf unserem Rechner läuft.

Mustergrafik einblenden

PHP Information komplett

nach oben zur Auswahl

 

PHP-Scripte

PHP Anweisungen haben immer öffnende und schließende Tags: <?php und ?>. Es spielt hierbei keine Rolle, ob wir diese Anweisungen in eine eigene PHP-Datei ausführen oder diese in ein HTML Dokument einbetten. Zur Anschauung stelle ich eine PHP-Ausgabe in ein HTML Dokument ein. 

PHP Script anzeigen

  1. <?php
  2. <html>
  3. <head>
  4. <title>PHP-Skript in einem HTML Dokument</title>
  5. </head>
  6. <body>
  7. <?php echo ‚Ich bin die PHP Ausgabe in HTML‘; ?>
  8. </body>
  9. </html>
  10. ?>

Speicher diesen Skript unter dem Namen C:/php/html_ausgabe.php

nach oben zur Auswahl

 

Variablen

Skalare Datentypen string, int, float und bool

Diese Datentypen bekommen nur einen bestimmten Wert zugewiesen. Sie haben je nach Zuweisung eben nur einen Wert und sind von einem Datentyp. Es werden hier vier unterschiedliche Typen deklariert.

  • string (Zeichenkette, Text)
  • int (Ganzzahl)
  • float (Fließkommazahl, auch double bezeichnet)
  • bool (Wahrheitswert TRUE oder FALSE)

Die Deklaration einer Variable in PHP beginnt grundsätzlich mit einem $ Dollarzeichen, gefolgt vom eigentlichen Variablen Namen. Für die bessere Lesbarkeit werden diese Name meist im „CamelCase“ geschrieben. Diese Bezeichnung bedeutet, dass zusammengesetzte  Worte jeweils mit einem großen Anfangs Buchstaben beginnen. Als Beispiel die Variablen „meineWeiterenDaten“ oder „dieKleineZahl“.

Variablen Beispiele anzeigen

Verschiedene Muster Variablen

// Typ Zeichenkette (String)

$variable =“Ich bin ein Text in einer Variablen gespeichert“;

// Typ Integer (Ganzzahlig, ohne Kommastellen)
$var = 125;
$var = -350;

// Typ Fließkommazahl (float)
$var = 23.146;
$var = -0.000745;

// Typ Boolean (nur zwei Zustände, richtig oder falsch)
$var = true;
$var = false;

// Typ NULL (Undefiniert)
$var = NULL;

// Variablen können mit den Zeichenketten-Operatoren   und  .=  beliebig verkettet werden:
$name = ‚Bernhard‘;
$lang = 185;
$ausgabe = ‚Ich bin ‚ . $name . ‚ und ‚ . $lang . ‚ cm groß.<br />‘;
$ausgabe .= ‚Wie groß bist Du?<br />‘;
echo $ausgabe;

// Variable leeren
$varWert = NULL;

// Variable löschen
unset($varWert);

Dies ist nur ein Überblick der am meist verwendeten Variablen Typen.

nach oben zur Auswahl

 

Vergleichsoperatoren

Mit den Vergleichs Operatoren haben wir die Möglichkeit zwei Werte miteinander zu vergleichen.

  • $x > $y | Größer als (Wird WAHR, wenn $x größer als $y ist)
  • $x < $y | Kleiner als (Wird WAHR, wenn $x kleiner als $y ist)
  • $x >= $y | Größer gleich (Wird WAHR, wenn $x größer oder gleich $y ist)
  • $x <= $y | Kleiner gleich (Wird WAHR, wenn $x kleiner oder gleich $y ist)
  • $x == $y | Gleich (Wird WAHR, wenn $x gleich $y ist)
  • $x === $y | Identisch (Wird WAHR, wenn $x gleich $y ist und beide vom gleichen Typ sind (eingeführt in PHP 4))
  • $x !== $y | nicht identisch (Wird WAHR, wenn $x nicht gleich $y ist, oder wenn beide nicht vom gleichen Typ sind (eingeführt in PHP 4))
  • $x != $y | Ungleich (Wird WAHR, wenn $x nicht gleich $y ist)
  • $x <> $y | Ungleich (Wird WAHR, wenn $x nicht gleich $y ist)

Ein Vergleichs Operator der besonderen Art ist der Ternäre Operator. Der Begriff Ternär beinhaltet das lateinische Wort „ter“ oder „tri“, was so viel wie dreimal oder drei bedeutet. So kann man diese Vergleichs Logik auch als „Dreiwertige Logik“ bezeichnen. 

Folgender Syntax ist hier anzuwenden: ($var1 ? $ var2 : var3)

Der Ausdruck (($var1) ? ($var2) : ($var3)) gibt $var2 zurück, wenn $var1 WAHR zurückgibt. Die $var3 wird dann ausgegeben, wenn $var1 FALSCH zurückgibt. Seit PHP 5.3 kann man beim ternären Operator den mittleren Teil weglassen. Der Ausdruck ($var1 ?: $var3) gibt $var1 zurück, wenn $var1 als WAHR ausgewertet wird, andernfalls wird $var3 ausgegeben.

Beispiel ternäre Operator anzeigen

<?php

// Beispiel Operator mit IF ELSE Schleife
$var1 = 160;
$var2 = 20;
$var3 = 160;

if ($var1 > 100) {
$ergebnis = ($var1 + $var2);
} else {
$ergebnis = $var3;
}

echo ‚Als Ergebnis wurde der Wert ‚ . $ergebnis . ‚ berechnet<br /><br />‘; // Das Ergebnis ist 160

// Beispiel für den ternären Operator
$auswahl = 1;
$hinweis = ‚Das Geschlecht ist nach Auswertung der Auswahl ‚;
echo $hinweis . $geschlecht = ($auswahl == 1) ? „männlich“ : (($auswahl == 2) ? „weiblich“ : „unbekannt“);
?>

nach oben zur Auswahl

 

Kontrollstrukturen mit der IF-Abfrage

Die IF Abfrage ist eines der wichtigsten Konstrukte einer Programmiersprache.

Die einfachste Struktur ist die mit einer einfachen IF Anweisung.

<?php
   if ($x > $y)   // Die Abfrage von zwei Variablen
   echo „x ist wirklich größer als y“;  // Diese Ausgabe erscheint nur, wenn die Abfrage WAHR ist
?>

Weitere IF Parameter anzeigen

Die Erweiterung hierzu ist die alternative Abfrage. Ist das Abfrageergebnis WAHR, wird sie direkt ausgegeben. Ist sie FALSCH wird die Alternative von „else“ ausgegeben.

<?php
if ($x > $y) {
      echo „x ist größer als y“;
}  else {
      echo „x ist NICHT größer als y“;
}
?>

Fortführend gibt es noch eine weitere Variante. Diese kann mit dem Schlüsselwort „elseif“ so lange ausgeführt werden bis die Bedingung erfüllt ist. Elseif kann also mehrfach in dieser Abfrage hintereinander geschaltet werden.

<?php
if ($x > $y) {
    echo „x ist größer alsy“;
elseif ($x == $y) {
    echo „x ist gleich groß wie y“;
else {
    echo „x ist kleiner als y“;
}
?>

In PHP gibt es alternativen Syntax für die Kontrollstrukturen. Diese gelten  für ifwhileforforeach und switch. Die öffnende Klammer wird gegen einen Doppelpunkt ausgetauscht. Die schließende Klammer durch eine PHP endif Anweisung.

<?php if ($a == 20): ?>
     a ist gleich 20
<?php endif?>

 

nach oben zur Auswahl

 

 

Switch-Abfragen

Möchte ich eine Reihe von Anweisungen mit dem gleichen Wert von Variablen überprüfen, kommt Anstelle der If Anweisung die switch Abfrage zum Einsatz. Hierbei werden verschiedene Werte in Abhängigkeit ausgewertet und dementsprechend unterschiedlicher Code ausgeführt.

Bei der Verwendung von switch Abfragen muss jeder Bereich von „case“ mit einem „break;“ abgeschlossen werden. Ausnahme ist die Verwendung – wie im 2. Beispiel – der ‚default‘ Wert. Da dieses sowieso das Ende dieser Abfrage ist, braucht hier kein ‚break‘ eingetragen werden. 

<?php
$var = 2;
switch($var) {
case 0:
echo ‚Der eingetragene Wert ist 0 <br /><br />‘;
break;
case 1:
echo ‚Der eingetragene Wert ist 1 <br /><br />‘;
break;
case 2:
echo ‚Wir haben jetzt den höchsten eingetragenen Wert von 2 <br /><br />‘;
break;
}

echo ‚———————————————————- <br /><br />‘;

echo ‚Die Variable $var wird jetzt neu festgelegt <br /><br />‘;

// Wenn keine passende Auswertung möglich, wird mit dem „default“ Parameter eine Standardausgabe fest gelegt

$var = 3;
switch($var) {
case 0:
echo ‚Mit einer 0 kann man aber nicht viel anfangen <br /><br />‘;
break;
case 1:
echo ‚Die Zahl 1 ist sehr klein, bringt uns also auch nicht weiter <br /><br />‘;
break;
default:
echo ‚Ich bin die Standardausgabe (default) wenn keine Bedingung zutrifft, nehmen wir! <br /><br />‘;

}
?>

Weitere SWITCH Parameter anzeigen

 

SWITCH und die Verwendung von Zeichenketten (Strings)

<?php
switch ($y) {
case „Holzhausl“:
echo „y ist ein Holzhaus“;
break;
case „Steinhaus“:
echo „y ist ein Steinhaus“;
break;
case „Hausboot“:
echo „y ist ein Hausboot“;
break;
}
?>

SWITCH und der Standardwert

Soll die Abfrage mit einer schlüssigen Aussage versehen werden, so wird in PHP ein default Wert eingebaut. Dieser kommt immer dann zum Tragen, wenn die vorherigen Abfragen kein Ergebnis erbracht haben. In diesem Beispiel wird die Switch Schleife mit der Anweisung „endswitch“ abgeschlossen.

<?php
switch ($i):
    case 0:
        echo „i ist gleich 0“;
        break;
    case 1:
        echo „i ist gleich 1“;
        break;
    case 2:
        echo „i ist gleich 2“;
        break;
    default:
        echo „i ist nicht gleich 0, 1 oder 2“;
endswitch;
?>

nach oben zur Auswahl

 

Die FOR – Schleifen

Die for – Schleifen sind unheimlich breit gefächert anwendbar. Sie können in PHP besonders komplex angewendet werden. Der Syntax dieser for – Schleife ist wie folgt: for (expr1; expr2; expr3)

Bevor hierbei die eigentliche Schleife ausgeführt wird, findet die Auswertung des ersten Ausdrucks (expr1) statt.

Wenn dann der Schleifendurchlauf beginnt, wird der Ausdruck 2 (expr2) ausgewertet. Ist diese WAHR, wird die Schleife mit der nächsten Anweisung fortgesetzt. Ist sie FALSCH, wird die Ausführung der Schleife beendet.

Am Ene eines jeden Schleifendurchlaufes wird der Ausdruck 3 (expr3) ausgeführt.

Jede einzelne Anweisung kann Werte enthalte oder aber auch leer sein. Mehrere Anweisungen werden mit Kommata getrennt eingetragen. Die einzelnen Ausdrücke – epr(x)… – werden mit einem Semikolon abgeschlossen.

<?php

// Beispiel – Ausgabe der Zahlen von 1 bis 20

echo ‚Wir zählen bis 20 <br /><br />‘;

for ($x = 1; $x <= 20; $x++) {

echo ‚und sind jetzt bei ‚ . $x . ‚<br />‘;

}
?>

Weitere FOR Anweisungen anzeigen

// Beispiel mit einem offenen Ausdruck

for ($x = 1;   ;   $x++) {

if ($x > 20) }

break;

}

echo $x;

}

// Beispiel mit zwei offenen Ausdrücken

$a = 1;

for (  ;   ;  ) {

     if ($a > 20)  }

         break;

     }

     echo $a;

     $a++;

}

// Beispiel als komplexe Funktion

for ($a = 1, $b = 0; $a <= 20; $b += $b, print $a, $a++);

?> 

nach oben zur Auswahl

 

WHILE – Schleifen

Die while Schleifen sind im Gegensatz zu den for Schleifen die einfachste Abfrage Variante. Hierbei ist auf jeden Fall zu beachten, dass in der while Schleife die nachgeordnete Anweisung so lange ausgeführt wird, wie die angefragte Bedingung zutrifft. 

Der Syntax dieser for – Schleife ist wie folgt: while(bedingung);

<?php

// Beispiel der Zahlen 1 bis 20 als (post-increment) Anweisung

$a = 1;

while ($a <= 20)  {

 echo $a++;

}

// Das gleiche Beispiel als Ausgabe vor der Erhöhung mit Doppelpunkt Parameter

$a = 1;

while ($a <= 20) :

echo $a;

$a++;

endwhile;

?>

nach oben zur Auswahl

 

Foreach – Schleifen

Bei einer foreach – Schleife in PHP wird die Möglichkeit geboten, iterativ ein Array zu durchlaufen. Einen Zugriff iterativ durchzuführen heißt, schrittweise, beziehungsweise wiederholt, auf Datenstrukturen zuzugreifen. Die Schreibweise hierzu ist folgende: foreach (array_ausdruck as $value) bzw. foreach (array_ausdruck as $key => $value)

Bei jedem Durchlauf wird der Wert des aktuellen Elements der Variable $value zugewiesen und der interne Array-Zeiger um eins erhöht. Beim Beginn der Ausführung wird automatisch der interne Zeiger (Arrayzeiger) auf das erste Element des Array gesetzt.
Achtung! Um innerhalb dieser Schleife den Wert eines Array verändern zu können, muss vor dem Variablen Namen ein & vorangestellt werden.

<?php

// Beispiel einer Wertveränderung aller Einträge in einem Array

$var = array(2, 4, 6, 8);

foreach($var as $wert) {
echo ‚Standardwert >‘ . $wert . ‚<br />‘;
$wert = $wert * 2;
echo ‚veränderter Wert >‘ . $wert . ‚<br />‘;
}
unset ($wert);
echo ‚ <br /><br />‘;

// die Werte von $wert im Array sind nun „array(4, 8, 12, 16)“

// mit unset sollte der letzte Wert gelöscht werden

// echo ‚Ab PHP 5.5.0 kann eine verkürzte Schreibweise eingesetzt werden. <br />‘;
echo ‚Das ursprüngliche Array hat folgende Werte array(2, 4, 6, 8) <br /><br />‘;
foreach(array(2, 4, 6, 8) as &$wert) {
$wert = $wert * 2;
echo $wert . ‚, ‚;
}
echo ‚ <br /><br />‘;
echo ‚Das Array hat nun folgende Werte array(4, 8, 12, 16) <br />‘;
?>

nach oben zur Auswahl

 

Arrays

Arrays kann man auch als eine Fprm der Variablen bezeichnen. Der große Vorteil hierbei ist, das ein Array mehr als einen Datenwert beinhalten kann. Diesen Datenwerten können entsprechenden Schlüssel zugeordnet werden. Ein Array wird mittels des Sprachkonstruktes „array()“ erzeugt. Sewit PHP 5.4 kann auch rechteckige Klammern „array[ ]“ eingesetzt werden. Hier hinein werden mittels Komma separiert Parameter eingetragen. Diese Parameter bestehen im Regelfall immer aus Paarzuweisungen.

<?php

// einfache Parameter Zuweisung

$int = array(10, 12, 14, 16);

$str = array( ‚Montag‘, ‚Dienstag‘, ‚Mittwoch‘, ‚Donnerstag‘, ‚Freitag‘ );

echo ‚<pre>‘;
print_r($int);
print_r($str);
echo ‚</pre>‘;

echo ‚Im Array beginnt die Abfrage der Parameter bei 0.<br /><br /> Daher ist die Ausgabe mit dem Zähler [1] der ‚ . $str[1] . ‚<br />‘;
echo ‚ und die Ausgabe mit dem Zähler [3] der ‚ . $str[3] . ‚!‘;
?>

Den Inhalt eines Array kann man nicht mit der „echo“ Anweisung ausgeben. Hierfür bedarf es dem Befehl „print_r„! Zur Vorbereitung gehört die Einleitung mit der Zuweisung  „echo ‚<pre>‘ “ und der Abschluss dieser Anweisung mit „echo ‚</pr>‘ „. <pre> leitet einen Textabschnitt mit präformatiertem Text ein und </pre> beendet den Abschnitt. Alles, was dazwischen steht, wird so angezeigt, wie es eingegeben wurde. Das gilt insbesondere für Leerzeichen.

pre-Elemente werden häufig eingesetzt, um Quelltext darzustellen. In diesem Fall ist es semantisch korrekt, den Inhalt mit einem Code-Element zu umfassen:<pre><code>...</code></pre>

Anders sieht es bei einer gezielten Ausgabe eines bestimmten Array Inhaltes aus. Hierbei ist zu beachten, dass der interne Zähler des Array Inhaltes bei 0 (null) beginnt und automatisch weiter hoch gezählt wird.

<?php

$int = array(10, 12, 14, 16, 20);

$str = array( ‚Montag‘, ‚Dienstag‘, ‚Mittwoch‘, ‚Donnerstag‘,’Freitag‘ );

echo $int[3] . ‚<br />‘; //  Ausgabe ist 20
echo $str[3] . ‚<br />‘; // Ausgabe ist ‚Freitag‘
?>

Arrays ist ein sehr umfangreiches Thema, so dass ich es hier jetzt nicht weiter ausbauen möchte . Ich habe nur die wichtigsten und immer wieder kehrenden Fragen aufgeführt. Sind weiterführende Informationen erwünscht, bitte eine Mail über das Kontaktformular.

nach oben zur Auswahl

 

Funktionen

Funktionen können wir immer dann einsetzen, wenn wiederkehrende Berechnungen oder Auswertungen vorgenommen werden müssen. Sie können Variablen, Parameter und Zuweisungen übernehmen und verarbeiten. Hinter dem Funktionsnamen, also die Bezeichnung der Funktion, werden runde Klammern gesetzt. In diesen Klammern werden dann die Parameter übergeben. Nach dem Abarbeiten der Funktion wird dann ein Wert zurück gegeben. Sinnvoll ist es sich hier mittels Kommentaren den Sinn solch einer Funktion zu dokumentieren. Im nachstehenden Beispiel berechnen wir die Umsatzsteuer und geben das Endergebnis aus.

<?php

/* Mehrzeilige Kommentare werden unter PHP mit einem Slash und nachfolgendem Stern eingeleitet
* dieser Stern wird einfach nur zur optischen Unterscheidung einer weiteren Kommentarzeile voran gestellt
* kann aber auch weg gelassen werden.
*
* Berechnung eine Betrages incl. Umsatzsteuer
*
* der Begriff @param wird zur verwendet um die Parameter zu beschreiben. Zudem gibt es so genannte
* Dokumentation Generatoren, welche diese auslesen können und für deren Beschreibung verwenden
* einige IDEs verwenden das @param als Tooltip Information
*
* @param $betrag = der Grundbetrag ohne Umsatzsteuer
* @param $mwst = der Umsatz Steuersatz
* mehrzeilige Kommentare werden mit einem * und einem Slash beendet

*/

function bruttoBerechnung($betrag, $mwst = 19.0) {
$betrag = (float) $betrag;
$mwst = (float) $mwst;
$betrag += round($betrag/100*$mwst, 2);
return $betrag;
}

// * einzeilige Kommentare werden mit diesem Doppelslash markiert

$summe = 126; // die zu berechnende Summe

echo „Der Bruttobetrag ist also  „;
echo bruttoBerechnung($summe) . ‚ Euro ‚;

?>

nach oben zur Auswahl

 

Konstanten

Eine Konstante ist eine Namensbezeichnung und enthält einen einfachen Wert welcher zur Laufzeit des Scripts nicht verändert werden kann. Ein gültiger Name beginnt mit einem Buchstaben oder einem Unterstrich. Danach können beliebig viele Buchstaben, Ziffern oder Unterstrichen folgen. Bei Konstanten wird in Groß- und Kleinschreibung unterschieden. Diese Schreibweise wird auch als case-sensitive bezeichnet. Es hat sich inzwischen durchgesetzt, dass Konstanten immer in Großbuchstaben geschrieben werden. Gültige Namensbezeichnungen beginnen mit einem Buchstaben oder mit einem Unterstrich. Konstanten sind im kompletten Source Code verfügbar, also auch in den Funktionen.

Erstellt werden Konstanten mittels ‚define()‘.

<?php
define(‚GUTEN_TAG‘, ‚Es ist sehr schön, dass sich so viele hier auf dieser Seite für PHP interessieren!‘);

/**
* Konstanten definieren
* @return void (Der Hinweis mit void sagt aus, dass hier nichts zurück gegeben wird)
*/

function ausgabe()
{
echo GUTEN_TAG; // Ausgabe des Inhaltes der Konstanten GUTEN_TAG
}

// Funktion ausfuehren
ausgabe();
?>

nach oben zur Auswahl

 

include – include_once – require – require_once

Wenn Dateien in ein PHP – Script eingebunden werden sollen, werden diese mittels der ‚include‘ Funktion hinzugefügt. Diese bindet Dateien in ein PHP – Skript ein, führt sie aus und wertet sie aus. Somit können Themen bezogene Scripte aufgestellt und dann miteinander verbunden werden. Damit bleibt eine umfangreichere Programmerstellung in den Dateien übersichtlich. Als Orientierung denkt bitte an das Einbinden von externen CSS Dateien oder externer Java Scripte.

Bei einem erneuten Einbinden dieser Datei mittels ‚include‘, werden vorhandene Variablen in dieser Datei wieder überschrieben.

Der Unterschied von ‚include‘ und ‚require‘

Wenn die Datei – welche mit ‚include‘ eingebunden werden soll – nicht gefunden wird, erfolgt eine Fehlermeldung. Das Skript wird aber wird trotzdem weiter ausgeführt. Haben wir die gleiche Datei mit ‚require‘ eingebunden, wird auch das Skript abgebrochen. 

Was ist mit der ‚_once‘ Variante

Die Funktionen ‚include_once‘ und ‚require_once‘ binden ebenfalls Dateien ein. Der entscheidende Unterschied jedoch ist, das mit diesen Funktionen die Dateien nur einmal eingebunden werden können. Ein zweiter Versuch die gleiche Datei einzufügen funktioniert nicht noch einmal. Somit können im Programmablauf auch inzwischen veränderte Variablen nicht überschrieben werden.

 

Nachfolgend der Source Code von drei Dateien zur Veranschaulichung

In der Datei „define.php“ wird eine Variable „$color“ festgelegt

In der Datei „include.php“ wird die Datei „define.php“ mir eingebunden und die Variable ausgegeben

In der Datei „include_once.php“ wird die Datei „define.php“ mir eingebunden und die Variable ausgegeben

Den Unterschied von „include“ und „include_once“ bitte ausprobieren oder im Video anschauen.

Den Source Code anzeigen

Datei: define.php

<?php

$color = „<font color=’#FF0000′> Ich bin ein roter Text!</font>“;
echo ‚Farbvorgabe rot aus der Datei define.php<br />‘;
?>

Datei: include.php

<?php
echo ‚Beispiel mit include()<br />‘;
// die Ausgabe der Variable $color gibt einen Fehler aus, ‚undefined variable‘
echo $color . ‚<br />‘;

// wir binden mit include die Datei define.php einbinden
require(‚./define.php‘);

echo $color . ‚<br /><br />‘; // gibt die Farbe ‚rot‘ – aus der Datei define.php aus
echo ‚Die Variable $color wird jetzt mit der Farbe blau versehen <br />‘;
$color = „<font color=’#0000FF‘> Ich bin jetzt ein blauer Text!</font>“; // Die Variable $color wird nun mit blau überschrieben
echo $color . ‚<br /><br />‘; // $color gibt jetzt ‚blau‘ aus da sie überschrieben wurde

echo ‚Die Datei define.php wird jetzt noch einmal eingebunden <br /><br />‘;
require(‚./define.php‘);

echo ‚Nun ist die Farbe wieder » ‚ . $color . ‚<br /><br />‘;

echo ‚Wird eine Datei mit include() eingebunden, werden auch die dort vorhandenen Variablen wieder mit übernommen <br /> und vorhandene Variablen überschrieben!‘;
?>

Datei: include_once.php

<?php
echo ‚Beispiel mit include_once()<br />‘;
// die Ausgabe der Variable $color gibt einen Fehler aus, ‚undefined variable‘
echo $color . ‚<br />‘;

// wir binden mit include die Datei define.php einbinden
include_once(‚./define.php‘);

echo $color . ‚<br /><br />‘; // gibt die Farbe ‚rot‘ – aus der Datei define.php aus
echo ‚Die Variable $color wird jetzt mit der Farbe blau überschrieben <br />‘;
$color = „<font color=’#0000FF‘> Ich bin ein blauer Text!</font>“; // Die Variable $color wird nun mit blau überschrieben
echo $color . ‚<br /><br />‘; // $color gibt jetzt ‚blau‘ aus da sie überschrieben wurde

echo ‚Die Datei define.php wird jetzt noch einmal eingebunden <br /><br />‘;
include_once(‚./define.php‘);

echo ‚Nun ändert sich nichts denn » ‚ . $color . ‚<br /><br />‘;

echo ‚Wird eine Datei mit include_once() eingebunden, kann diese nicht mehrmals eingebunden werden <br /> und somit vorhandene Variablen nich noch einmal überschreiben!‘;
?>

nach oben zur Auswahl

Über den rechten Steuerungspfeil kann das Video herunter geladen werden

 

Updated: 20. März 2018 — 0:11
INFOPORTAL BERLIN © 2017 >> Impressum << - >> Datenschutz << - >> Disclaimer << Frontier Theme