SyntaxSie können eine Konstante definieren, indem Sie entweder die define-Funktion oder ab PHP 5.3.0 das Schlüsselwort const außerhalb einer Klassendefinition verwenden. Während define es ermöglicht eine Konstante auf einen beliebigen Wert zu definieren, hat das const Schlüsselwort Einschränkungen, die im nächsten Absatz beschrieben werden. Einmal definiert, kann eine Konstane weder verändert noch gelöscht werden. Wenn das const Schlüsselwort verwendet wird, können Konstanten vor PHP 5.6 nur skalare Daten (boolean, integer, float und string) enthalten. Von PHP 5.6 an ist es möglich eine Konstante als skalaren Ausdruck zu definieren, und es ist ebenfalls möglich eine Array Konstante zu definieren. Es ist möglich, Konstanten vom Typ resource zu definieren, dies sollte allerdings vermieden werden, da es zu unerwarteten Ergebnissen führen kann. Den Wert einer Konstanten erhalten Sie durch die einfache Angabe ihres Namens. Im Gegensatz zu Variablen sollten Sie einer Konstanten kein $ 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.
Falls Sie eine undefinierte Konstante verwenden, nimmt PHP an, dass Sie den Namen der Konstanten selbst meinen, so als ob Sie sie als einen string (CONSTANT vs "CONSTANT") aufgerufen hätten. Falls das passiert, wird Ihnen ein Fehler vom Typ E_NOTICE ausgegeben. Lesen Sie ebenfalls den entsprechenden Manualabschnitt, der erklärt, warum $foo[bar] falsch ist (zumindest solange Sie nicht zuvor bar mittels define als Konstante definiert haben). Dies gilt nicht für (vollständig) qualifizierte Konstanten, die einen fatalen Fehler erzeugen, wenn sie undefiniert sind. Möchten Sie einfach nur nachprüfen, ob eine Konstante definiert ist, benutzen Sie die Funktion defined. Das hier sind die Unterschiede zwischen Konstanten und Variablen:
Beispiel #1 Definiton von Konstanten
<?php
Beispiel #2 Definition von Konstanten unter Verwendung des const-Keywords
<?php
Lesen Sie ebenfalls den Abschnitt über Klassenkonstanten. |