Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Unterschiede zwischen PHP-Klassenkonstanten, statischen Eigenschaften und nicht statischen Eigenschaften

Detaillierte Erläuterung der Unterschiede zwischen PHP-Klassenkonstanten, statischen Eigenschaften und nicht statischen Eigenschaften

伊谢尔伦
伊谢尔伦Original
2017-06-29 09:27:171283Durchsuche

1. Klasse Konstante : Ein Wert, der in einer Klasse immer unverändert bleibt, wird als Konstante definiert

Konstanten der Klasse können keine Zugriffsbeschränkungsmodifikatoren verwenden. er ist öffentlich, kann vererbt und kann von Unterklassen überschrieben werden. Sie müssen Doppelpunkte verwenden::, um auf die Konstanten der Klasse zuzugreifen Zugriff. Da es sich um eine Konstante handelt, kann der Name nicht zur Darstellung von Variablen verwendet werden.

kann einen Wert definieren, der in der Klasse immer unverändert bleibt. 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 Klassenattribut, 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).

Syntax: const konstant= 'Konstante'; : , kann ohne Instanziierung aufgerufen werden

class Myclass{
 const constant = '常量';

 //类内部调用
 public function test(){
  echo self::constant.&#39;<br>&#39;;
 } 
}
Myclass::test();
//类外部访问
echo Myclass::constant.&#39;<br>&#39;; //方法一

$obj = new Myclass();  //方法二
echo $obj::constant.&#39;<br>&#39;;
Syntax: public static $my_static = 'ähnliche Konstante'

3. Nicht-statische Eigenschaften: Auf normale Variablen kann nach der Instanziierung zugegriffen werden. Verwenden Sie das Symbol ->

Syntax: public $my_val = 'Normale Variable'

class Myclass{
 public static $static_val = &#39;静态属性&#39;;
 //类内部访问
 public function test(){
  return self::$static_val.&#39;<br>&#39;;
 } 
}

//类外部访问
// echo Myclass::test();
echo Myclass::$static_val;  //方法一
$obj = new Myclass();    //方法二
echo $obj::$static_val;
echo $obj->test();

PHP ruft die Konstanten in den Methoden „Klasse“, „Attribute“ und „Methodenliste“ ab

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Unterschiede zwischen PHP-Klassenkonstanten, statischen Eigenschaften und nicht statischen Eigenschaften. 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