PHP OOP - Statische Eigenschaften
PHP - Statische Eigenschaften
Statische Eigenschaften können direkt aufgerufen werden – ohne eine Instanz einer Klasse zu erzeugen.
Statische Eigenschaften werden mit dem static
Schlüsselwort deklariert:
Syntax
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Um auf eine statische Eigenschaft zuzugreifen, verwenden Sie den Klassennamen, einen doppelten Doppelpunkt (::) und den Eigenschaftsnamen:
Syntax
ClassName::$staticProp;
Schauen wir uns ein Beispiel an:
Beispiel
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Beispiel erklärt
Hier deklarieren wir eine statische Eigenschaft: $value. Dann geben wir den Wert der statischen Eigenschaft wieder, indem wir den Klassennamen, den doppelten Doppelpunkt (::) und den Eigenschaftsnamen verwenden (ohne zuerst eine Klasse zu erstellen).
PHP - Mehr zu statischen Eigenschaften
Eine Klasse kann sowohl statische als auch nicht statische Eigenschaften haben. Auf eine statische Eigenschaft kann von einer Methode in derselben Klasse aus mit dem self
Schlüsselwort und dem doppelten Doppelpunkt (::) zugegriffen werden:
Beispiel
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Um eine statische Eigenschaft aus einer untergeordneten Klasse aufzurufen, verwenden Sie das parent
Schlüsselwort innerhalb der untergeordneten Klasse:
Beispiel
<?php
class
pi {
public static $value=3.14159;
}
class x extends pi {
public function xStatic() {
return
parent::$value;
}
}
// Get value of static property
directly via child class
echo x::$value;
// or get value of static property via xStatic()
method
$x = new x();
echo $x->xStatic();
?>