PHP OOP - Propriétés Statique
PHP - Propriétés Statique
Les propriétés statiques peuvent être appelées directement, sans créer une instance d'une classe.
Les propriétés statiques sont déclarées avec le mot-clé static :
Syntaxe
<?php
class ClassName {
public static $staticProp = "formation-ti.org";
}
?> Pour accéder à une propriété statique, utilisez le nom de la classe, deux points (::) et le nom de la propriété :
Syntaxe
ClassName::$staticProp; Regardons un exemple :
Exemple
<?php
class pi {
public static $value = 3.14159;
}
// Obtenir la propriété statique
echo pi::$value;
?> Exemple Expliqué
Ici, nous déclarons une propriété statique : $value. Ensuite, nous affichons la valeur de cette propriété statique en utilisant le nom de la classe, deux points (::) et le nom de la propriété (sans créer d'abord une instance de la classe).
PHP - Plus sur les Propriétés Statique
Une classe peut avoir à la fois des propriétés statiques et non-statiques. Une propriété statique peut être accédée depuis une méthode de la même classe en utilisant le mot-clé self et 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 depuis une classe enfant, utilisez le mot-clé parent à 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;
}
}
// Obtenir la valeur de la propriété statique directement via la classe enfant
echo x::$value;
// ou obtenir la valeur de la propriété statique via la méthode xStatic()
$x = new x();
echo $x->xStatic();
?>