PHP OOP - Propriétés statiques
PHP - Propriétés statiques
Les propriétés statiques peuvent être appelées directement - sans créer d'instance de classe.
Les propriétés statiques sont déclarées avec le static
mot clé :
Syntaxe
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
Pour accéder à une propriété statique, utilisez le nom de la classe, les doubles-points (::) et le nom de la propriété :
Syntaxe
ClassName::$staticProp;
Regardons un exemple :
Exemple
<?php
class
pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
Exemple expliqué
Ici, nous déclarons une propriété statique : $value. Ensuite, nous renvoyons la valeur de la propriété statique en utilisant le nom de la classe, les deux-points (::) et le nom de la propriété (sans créer de classe au préalable).
PHP - En savoir plus sur les propriétés statiques
Une classe peut avoir à la fois des propriétés statiques et non statiques. Une propriété statique est accessible à partir d'une méthode de la même classe à l'aide du self
mot-clé et des deux-points (::) :
Exemple
<?php
class
pi {
public static $value=3.14159;
public function
staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
Pour appeler une propriété statique à partir d'une classe enfant, utilisez le parent
mot clé à l'intérieur de la classe enfant :
Exemple
<?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();
?>