4.4.2 Konstanten

Die Verwendung von Konstanten bietet den Vorteil, dass der Wert nicht irgendwo im Programm geändert werden kann. Konstanten sollten im Programmkopf oder in einer .ini.php-Datei gesetzt werden, beispielsweise in einer Datei config.ini.php oder const.ini.php, die über require_once() eingebunden wird.

  • Konstanten werden gemäß den Namenskonventionen in Großbuchstaben geschrieben. Verwendet werden Konstanten wie Variablen jedoch ohne das $-Zeichen.
  • Mit der Funktion defined() kann man überprüfen, ob eine Konstante bereits gesetzt ist.

Verwendung von const

1
2
3
4
5
6
7
<?php
const AUTOR = "Thomaschewski";
echo "Ausgabe der Konstanten: ", AUTOR, "<br>";

if (defined('AUTOR')) {
    echo "Die Konstante AUTOR ist gesetzt.";
}

Ausgabe:
Ausgabe der Konstanten: Thomaschewski
Die Konstante AUTOR ist gesetzt.

Bei größeren Projekten sollten alle Konstanten in einer eigenen (Konfigurations-)Datei stehen, da so das Anpassen der Software deutlich vereinfacht wird.

Magische Konstanten

PHP hat sogenannte magische Konstanten, die mit zwei Unterstrichen am Anfang und am Ende geschrieben werden.

Magische Konstante Beschreibung
__LINE__ Aktuelle Zeile: Beinhaltet die aktuelle Zeilennummer, in der __LINE__ verwendet wird.
__FILE__ Aktuelle Datei: Beinhaltet den Dateinamen, in dem __FILE__ verwendet wird.
__DIR__ Aktuelles Verzeichnis: Beinhaltet das aktuelle Verzeichnis, in dem die Datei liegt, in der __DIR__ verwendet wird.
__FUNCTION__ Aktuelle Funktion: Beinhaltet die aktuelle Funktion, in der __FUNCTION__ verwendet wird.
__METHOD__ Aktuelle Methode: Beinhaltet die aktuelle Methode, in der __METHOD__ verwendet wird.
__CLASS__ Aktuelle Klasse: Beinhaltet die aktuelle Klasse, in der __CLASS__ verwendet wird.
__TRAIT__ Aktuelles Trait: Beinhaltet das aktuelle Trait, in der __TRAIT__ verwendet wird.
__NAMESPACE__ Aktueller Namensraum: Beinhaltet den aktuellen Namensraum, in dem __NAMESPACE__ verwendet wird.

Hinweis

Die letzten vier magischen Konstanten können nur sinnvoll in der objektorientierten Programmierung genutzt werden.

Aufgabe

Kopieren Sie den folgenden Sourcecode in ein PHP-Script auf Ihren Server und schauen Sie sich das Ergebnis an.

1
2
3
4
5
6
7
<?php
$flower = ["Tulpe" => "Gelb", "Rose" => "Rot", "Kornblume" => "Blau"];
echo "Die Farbe der Rose ist " . $flower["Rose"] . "<br>";
echo __DIR__ . "<br>";
echo __FILE__ . "<br>";
echo __LINE__ . "<br>";
?>