Propriétés et méthodes statiques

#1 Propriété statique open

Une propriété peut être allouée dans la classe. Dans ce cas, on parle de propriété de classe par opposition aux propriétés d'instances (* celles qui sont allouées dans les objets). Dans l'exemple ci-dessous, j'alloue la variable $nb directement dans la classe StaticCount.

Pour cela j'utilise le mot réservé static. D'après les PSR le static doit être placé après la déclaration de visibilité, ci-dessous le public.

(* à ce sujet, dans le code ci-dessous, mes accolades ouvrantes devraient être en début de ligne. Toujours selon les PSR. Mais voilà, ça ne me plait pas. )😜

Pour accéder à la propriété $nb :

  • Il n'est pas nécessaire d'instancier la classe (* bien que dans l'exemple ce soit le cas).
  • A l'intérieur de la classe, j'utilise self::$nb.
  • A l'extérieur de la classe, j'utilise StaticCount::$nb.

Dans l'exemple ci-dessous, je compte le nombre d'instances, en incrémentant la variable statique $nb dans le constructeur.

Ce qu'il faut voir, c'est que l'on peut partager de l'information entre les instances, par l'intermédiaire de la classe. Dans l'exemple ci-dessous, je cache la variable statique $nb en la déclarant private. Ensuite, je code un getter. De cette manière, je donne un accès, à l'information cachée dans la classe, à toutes les instances et uniquement aux instances.

#2 Méthode statique open

Une méthode statique est une méthode qui peut être appelée sans que l'on ait besoin d'instancier la classe. Elles sont souvent utilisées pour coder des fonctions utilitaires, qui sont appelées un peu partout dans l'application, pour faire quelque chose de précis, sans toucher aux données.

Ci-dessous, vous avez un exemple. Pour appeler la méthode statique, il faut utiliser le nom de la classe, suivi de l'opérateur de résolution de portée, suivi du nom de la méthode.

Politique de confidentialité

Mentions Légales