PHP OOP - Statische eigenschappen
PHP - Statische eigenschappen
Statische eigenschappen kunnen direct worden aangeroepen - zonder een instantie van een klasse te maken.
Statische eigenschappen worden gedeclareerd met het static
sleutelwoord:
Syntaxis
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Om toegang te krijgen tot een statische eigenschap, gebruikt u de klassenaam, dubbele dubbele punt (::), en de eigenschapsnaam:
Syntaxis
ClassName::$staticProp;
Laten we een voorbeeld bekijken:
Voorbeeld
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Voorbeeld uitgelegd
Hier declareren we een statische eigenschap: $value. Vervolgens herhalen we de waarde van de statische eigenschap door de klassenaam, dubbele dubbele punt (::) en de eigenschapsnaam te gebruiken (zonder eerst een klasse te maken).
PHP - Meer over statische eigenschappen
Een klasse kan zowel statische als niet-statische eigenschappen hebben. Een statische eigenschap kan worden benaderd vanuit een methode in dezelfde klasse met behulp van het self
sleutelwoord en dubbele dubbele punt (::):
Voorbeeld
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Om een statische eigenschap van een onderliggende klasse aan te roepen, gebruikt u het parent
sleutelwoord binnen de onderliggende klasse:
Voorbeeld
<?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();
?>