|
KlassenkonstantenEs ist möglich für jede Klasse konstante Werte zu definieren, die gleich und unabänderlich bleiben. Konstanten weichen darin von normalen Variablen ab, dass man nicht das $ Symbol benutzt, um sie zu deklarieren oder zu benutzen. Die standardmäßige Sichtbarkeit einer Klassenkonstante ist public. Der Wert kann nur ein konstanter Ausdruck sein, keine (zum Beispiel) Variablen, Klassenattribute oder Funktionsaufrufe. Ein Interface kann ebenfalls constants enthalten. Die Interface-Dokumentation enthält Beispiele dazu. Beginnend mit PHP 5.3.0 ist es möglich eine Variable als Klassenreferenz zu nutzen. Der Variablenwert kann kein Schlüsselwort (wie self, parent oder static) sein. Es ist zu beachten, dass Klassenkonstanten nur einmal pro Klasse angelegt werden, und nicht für jedes Klassenexemplar. Beispiel #1 Eine Konstante definieren und benutzen
<?phpBeispiel #2 Beispiel für statische Daten
<?php
Beispiel #3 Beispiel mit konstanten Ausdrücken
<?phpEs ist möglich einen skalaren Ausdruck, der numerische und Zeichenketten-Literale und/oder Konstanten enthält, im Kontext einer Klassenkonstante zu verwenden.
Beispiel #4 Sichtbarkeitsmodifizierer von Klassenkonstanten
<?phpOutput of the above example in PHP 7.1: bar Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …
|