Sie können Werte, die in einer Klasse unverändert bleiben, als Konstanten definieren. Beim Definieren und Verwenden von Konstanten muss das $-Symbol nicht verwendet werden.
Der Wert einer Konstante muss ein fester Wert sein und darf keine Variable, kein Klassen-Attribut, das Ergebnis einer mathematischen Operation oder eines Funktionsaufrufs sein.
Konstanten können auch in Schnittstellen definiert werden. Weitere Beispiele finden Sie im Schnittstellenabschnitt der Dokumentation.
Seit PHP 5.3.0 können Sie eine Variable verwenden, um eine Klasse dynamisch aufzurufen. Der Wert dieser Variablen darf jedoch kein Schlüsselwort sein (z. B. self, parent oder static).
Beispiel #1 Definieren und verwenden Sie eine Klassenkonstante
<?php class MyClass { const constant = 'constant value'; function showConstant() { echo self::constant . "\n"; } } echo MyClass::constant . "\n"; $classname = "MyClass"; echo $classname::constant . "\n"; // 自 5.3.0 起 $class = new MyClass(); $class->showConstant(); echo $class::constant."\n"; // 自 PHP 5.3.0 起 ?>
Beispiel #2 Beispiel für statische Daten
<?php class foo { // 自 PHP 5.3.0 起 const bar = <<<'EOT' bar EOT; } ?>
Im Gegensatz zu Heredoc kann nowdoc für alle statischen Daten verwendet werden Mitte.
Hinweis:
Nowdoc-Unterstützung wurde in PHP 5.3.0 hinzugefügt .
Hinweis: Im Gegensatz zu anderen objektorientierten Programmiersprachen kann eine Klasse in PHP nicht den endgültigen Modifikator für eine Eigenschaftsvariable verwenden.
Wenn Sie eine Eigenschaft als Konstante deklarieren möchten, können Sie das const-Schlüsselwort verwenden und es ist nicht erforderlich, ein Dollarzeichen als Variablenname-Präfix zu verwenden, und dies ist auch nicht erforderlich Sie müssen den Zugriffsberechtigungsmodifikator verwenden. Konstante bedeutet, dass zwar auf die Variable zugegriffen werden kann, der Wert der Variablen jedoch nicht geändert werden kann. Der folgende Code deklariert beispielsweise das Konstantenattribut con_var:
<?php class Foo{ const con_var="常量属性的值不能被修改<br />"; public function method_a(){ echo (self::con_var); } } echo(Foo::con_var); $myFoo=new Foo(); echo ($myFoo->method_a()); ?>
Auf Konstantenattribute kann nicht über Objekte, sondern nur über Klassen zugegriffen werden. Im Klassenkörper können Sie „self::constant“ verwenden name". Im Klassenkörper können Sie „self::constant name" verwenden. Sie können „class name::constant name" verwenden.
Das obige ist der detaillierte Inhalt vonWie verwende ich PHP-Klassenkonstanten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!