Dans le manuel PHP, il est dit :
Le fait de déclarer des membres ou des méthodes comme statiques vous permet d’y accéder sans avoir besoin d’instancier la classe.
Donc, l’utilité des accès statiques serait : de ne pas avoir besoin d’objet
Par extension, l’idée est donc de regrouper les méthodes d’une classe dans un conteneur, et ainsi de pouvoir nommer deux méthodes du même nom, et de pouvoir charger le code de ces deux méthodes, car elles appartiennent à une classe différente, ce qui n’est pas possible avec de “simples” fonctions.
Exemple :
include(‘Viande.class.php’); include(‘TarteAuxPommes.class.php’);
Viande::manger();
TarteAuxPommes:manger();
Un stagiaire me propose une définition différente
edit du 8 juillet 2008
une méthode ou un attribut statique est partagé par toutes les instances/objets de la classe, du fait de ne pas dépendre d’un objet en particulier.
ex : un randomizer partagé par toutes les instances ou encore un compteur qui compte le nombre d’instances en cours.

23 avril 2008 at 9:26
Bonjour, je trouve réducteur d’expliquer une méthode statique en se basant sur une comparaison avec un langage impératif.
“Statique” veut dire que la propriété ou la méthode décrite comme telle appartient à la classe et non à l’instance de celle-ci.
On ne peut donc pas vraiment dire “l’utilité des accès statiques serait : de ne pas avoir besoin d’objet” puisque la propriété statique se base sur une classe.
Quand on passe à PHP5 il faut vraiment se forcer à penser 100% objet sinon on risque de voir des mélanges de genre très loin des patterns en vigueurs dans l’industrie. Je ne saurais que conseiller la lecture du bouquin d’Eric Daspet “PHP 5 avancé”.
14 mai 2008 at 10:05
Merci de ce commentaire
car c’est une des questions à laquelle j’ai eu le plus de mal à trouver une réponse satisfaisante. J’ai sondé mon entourage (de PHP-ers) et tous n’étaient pas bien au fait de l’utilité du statique.
Si vous avez d’autres précisions et exemples de code, je suis preneuse.
15 mai 2008 at 8:57
Si mon commentaire a pu aider un peu tant mieux :p
Merci pour le lien vers mon modeste blog que tu as posté dans ton article “Déchaîné”, c’est trop d’honneur
15 mai 2008 at 12:13
Expliquer le principe des éléments statiques en se basant sur une comparaison avec un langage impératif est loin d’être réducteur, surtout quand on sait que PHP est à l’origine un langage impératif et que nombre de développeur l’utilise encore comme tel.
16 mai 2008 at 8:09
@Kevin –> je tiens à ré-itérer mon message : quand on passe à PHP5, il faut oublier au plus vite les anciens réflexs de la programmation impérative.
Du coup si Sarah évoque un concept objet, je trouve ça plus logique de l’expliquer en terme objet qu’en terme impératif.
Toutefois, je salue l’initiative de Sarah qui publie ce blog et vous propose mes excuses puisque mon premier commentaire semble pouvoir parraitre déplacer alors que je ne voulais qu’apporter une petite contribution.
27 avril 2009 at 8:47
Un petit mot pour dire que les accès statiques peuvent se révéler très utile pour appeler des constantes ou des méthodes
qui n’ont pas vocation à être utilisées via des objets ( même pour les ‘puristes’ de la POO ).
Par exemple les fonctions mathématiques.
Inutiles de créer un objet pour obtenir PI.
Pratique et pas inconoclaste d’appeler C_MATH.PI il me semble.