PHP OOP - Proprietà statiche
PHP - Proprietà statiche
Le proprietà statiche possono essere chiamate direttamente, senza creare un'istanza di una classe.
Le proprietà statiche vengono dichiarate con la static
parola chiave:
Sintassi
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Per accedere a una proprietà statica, utilizzare il nome della classe, i due due punti (::) e il nome della proprietà:
Sintassi
ClassName::$staticProp;
Diamo un'occhiata a un esempio:
Esempio
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Esempio spiegato
Qui dichiariamo una proprietà statica: $value. Quindi, facciamo eco al valore della proprietà statica utilizzando il nome della classe, i due punti (::) e il nome della proprietà (senza prima creare una classe).
PHP - Ulteriori informazioni sulle proprietà statiche
Una classe può avere proprietà sia statiche che non statiche. È possibile accedere a una proprietà statica da un metodo nella stessa classe utilizzando la self
parola chiave e due due punti (::):
Esempio
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Per chiamare una proprietà statica da una classe figlio, utilizzare la parent
parola chiave all'interno della classe figlio:
Esempio
<?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();
?>