Kapitel 8. Konstanten

PHP definiert eine Reihe von Konstanten und stellt einen Mechanismus zur Verfügung, mit dem man zusätzliche Konstanten zur Laufzeit definieren kann. Konstanten sind Variablen sehr ähnlich, bis auf die Tatsache, dass sie mit der define()-Funktion definiert werden müssen und später nicht mehr mit einem anderen Wert versehen werden können.

Folgende vordefinierten Variablen sind immer verfügbar:

__FILE__

Der Name der Skript-Datei, die gerade geparsed wird. Wird diese Konstante in einer Datei verwendet, die per include() oder require() eingebunden wurde, liefert sie den Namen der eingebundenen Datei, nicht den der aufrufenden Datei.

__LINE__

Die Nummer der Zeile im laufenden Skript, die gerade geparst wird. Wird diese Konstante in einer Datei benutzt, die per include() oder require() eingebunden wurde, liefert sie die Zeilennummer innerhalb der eingebundenen Datei.

PHP_VERSION

Ein String, der die Versionsnummer des PHP-Parsers enthält, der gerade verwendet wird; z. B.´3.0.8-dev´.

PHP_OS

Der Name des Betriebsystems, auf dem der PHP-Parser ausgeführt wird; z. B. ´Linux´.

TRUE

Der Wert ´wahr´.

FALSE

Der Wert ´falsch´.

E_ERROR

Bedeutet einen Fehler, der sich von einem ´parsing error´ unterscheidet. Die Ausführung des Skriptes wird beendet.

E_WARNING

Gibt einen Zustand zurück,durch den PHP weiß, dass etwas nicht in Ordnung ist, das aktuelle Skript aber trotzdem weiter ausführt; dies kann vom Skript selbst aufgefangen werden. Ein Beispiel wäre ein ungültiger regulärer Ausdruck (regexp) in der Funktion ereg().

E_PARSE

Der Parser hat Probleme mit ungültiger Syntax in der Skript-Datei. Die Ausführung des Skriptes wird beendet.

E_NOTICE

Etwas ist aufgetreten, das ein Fehler sein kann oder nicht. Das aktuelle Skript wird weiter ausgeführt. Beispiele hierfür sind ein nicht gequoteter string als Hash-Index oder der Zugriff auf eine Variable, die nicht gesetzt wurde.

Die E_*-Konstanten werden typischerweise mit der error_reporting()-Funktion benutzt, um das Fehlermeldungs-Niveau festzusetzen.

Zusätzliche Konstanten können mithilfe der define()-Funktion definiert werden.

Zu beachten ist, dass dies Konstanten sind, und keine Makros, wie man sie von C her kennt; nur gültige Skalar-Daten können von einer Konstante vertreten werden.

Beispiel 8-1. Konstanten definieren


<?php
define("CONSTANT", "Hallo Welt.");
echo CONSTANT; // gibt  "Hallo Welt." aus.
?>
     

Beispiel 8-2. Die Benutzung von __FILE__ und __LINE__


<?php
function report_error($file, $line, $message) {
    echo "Ein Fehler ist aufgetreten in $file in Zeile $line: $message.";
}

report_error(__FILE__,__LINE__, "Irgendetwas ist falsch gelaufen!");
?>