Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich PHP-Klassenkonstanten?

Wie verwende ich PHP-Klassenkonstanten?

伊谢尔伦
伊谢尔伦Original
2017-06-29 09:14:431469Durchsuche

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 = &#39;constant value&#39;;
  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 = <<<&#39;EOT&#39;
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn