Eine Konstante ist ein Bezeichner (Name) für eine simple Variable.
Wie der Name schon ausdrückt, kann sich der Wert einer Konstanten
zur Laufzeit eines Skripts nicht ändern. (Die 'Magischen Konstanten'
__FILE__ und __LINE__ scheinen
eine Ausnahme von dieser Regel zu sein, aber in Wahrheit sind dies
keine Konstanten). Eine Konstante unterscheidet zwischen Groß- und
KLeinschreinbung (case-sensitive). Nach gängiger Konvention werden
Konstanten immer in Großbuchstaben geschrieben.
Der Name einer Konstanten folgt den gleichen Regeln wie alle anderen
Bezeichner in PHP. Ein gültiger Name beginnt mit einem Buchstaben
oder einem Unterstrich, gefolgt von beliebig vielen Buchstaben, Nummern
oder Understrichen. Als regulärer Ausdruck geschrieben:
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
Anmerkung:
Für unsere Zwecke ist ein Buchstabe a-z, A-Z und die ASCII-Zeichen
von 127 bis 255 (0x7f-0xff).
Der Gültigkeitsbereich einer Konstanten ist global -- Sie können unabhängig
vom Gültigkeitsbereich überall auf eine Konstante zugreifen.
Eine Konstante können Sie über die Funktion define()
definieren. Einmal definiert, kann eine Konstane weder verändert
noch gelöscht werden.
Konstanten können nur scalare Daten (boolean,
integer, float und string)
enthalten.
Den Wert einer Konstanten erhalten Sie ganz einfach durch die Angabe ihres
Namens. Einer Konstanten sollten Sie nicht,wie bei
Variablen, ein $ voranstellen. Ebenso können Sie die Funktion
constant() benutzen um den Wert einer Konstanten
auszulesen, wenn Sie den Namen der Konstanten dynamisch erhalten wollen.
Benutzen Sie get_defined_constants() um eine Liste
aller definierten Konstanten zu erhalten.
Anmerkung:
Konstanten und (globale) Variablen befinden sich in unterschiedlichen
Namensräumen. Das hat zum Beispiel zur Folge, dass TRUE und
$TRUE grundsätzlich unterschiedlich sind.
Falls Sie eine undefinierte Konstante verwenden, nimmt PHP an, dass
Sie den Namen der Konstanten selber meinen.
Wenn das passiert wird eine Notice
ausgegeben. Benutzen Sie die Funktion defined() um
herauszufinden, ob eine Konstante definiert ist.
Das hier sind die Unterschiede zwischen Konstanten und Variablen:
Konstanten haben kein Dollarzeichen ($)
vorangestellt;
Konstanten können nur über die Funktion define()
definiert werden, nicht durch einfache Zuweisung;
Konstanten können überall definiert werden und auf Ihren Wert
können Sie ohne Rücksicht auf Namensraumregeln von Variablen zugreifen;
Sobald Konstanten definiert sind, können sie nicht neu definiert
oder gelöscht werden; und
Konstanten können nur skalare Werte haben.
Beispiel 8-1. Definiton von Konstanten <?php
define("CONSTANT", "Hallo Welt.");
echo CONSTANT; // Ausgabe: "Hallo Welt."
echo Constant; // Ausgabe: "Constant" und eine Notice.
?> |
|