Statique
Cette page décrit l'utilisation du mot clé static
qui permet de définir des méthodes et des propriétés statiques.
static peut aussi être utilisé pour
définir des variables statiques
et pour des Résolutions statiques à la volée.
Reportez-vous à ces pages pour plus d'informations sur la signification de
static.
Le fait de déclarer des propriétés ou des méthodes comme statiques vous
permet d'y accéder sans avoir besoin d'instancier la classe.
Celles-ci peuvent alors être accédées statiquement depuis une instance d'objet.
Méthodes statiques
Comme les méthodes statiques peuvent être appelées sans qu'une instance
d'objet n'ait été créée, la pseudo-variable $this n'est pas
disponible dans les méthodes déclarées comme statiques.
Appeler une méthode non-statique statiquement lancera une Error.
Antérieur à PHP 8.0.0, appeler une méthode non-statique statiquement était obsolète,
et générait un avertissement E_DEPRECATED.
Exemple avec une méthode statique
]]>
Propriétés statiques
Les propriétés statiques sont accédées en utilisant l'
opérateur de résolution de portée
(::) et ne peuvent pas être accédé à travers l'opérateur
objet (->).
Il est possible de référencer la classe en utilisant une variable.
La valeur de la variable ne peut être un mot-clé (par exemple self,
parent et static).
Exemple avec une propriété statique
staticValue() . "\n";
print $foo->my_static . "\n"; // "Propriété" my_static non définie
print $foo::$my_static . "\n";
$classname = 'Foo';
print $classname::$my_static . "\n";
print Bar::$my_static . "\n";
$bar = new Bar();
print $bar->fooStatic() . "\n";
?>
]]>
&example.outputs.8.similar;