Je souhaite savoir ce qu'est une classe statique et pour quel intérêt ? Puis-je avoir un exemple d'utilisation ?

Merci d'avance

2 réponses


Une classe en PHP ne peut pas être statique, mais les attributs (variables) et méthodes (fonctions) qui la composent le peuvent.

L'utilité de déclarer l'un des deux en statique, et que tu peux y accéder sans avoir nécessairement besoin d'instancier la classe dans ton script principal, par le biais de l'opérateur '::' .

L'exemple le plus concret est pour réaliser un ORM te permettant de dialoguer avec ta BDD, tu vas avoir une classe 'User' qui va posséder une fonction statique 'getAllUsers' te permettant de récupérer tous les utilisateurs présents dans ta BDD, tu pourras donc faire la chose suivante :

$users = Utilisateur::getAllUsers();

Tu auras ainsi un tableau contenant tous les utilisateurs de ta BDD, que tu peux manipuler comme des objets etc ...

EDIT :
Pour plus d'informations sur les attributs et méthodes statiques : http://php.net/manual/fr/language.oop5.static.php