Modérateur PHPfrance |
10684 Messages
01 août 2012, 12:47
L'intérêt du mot clé static dans cet exemple est de pouvoir accéder à ton tableau/variable sans avoir besoin d'instancier la classe.
Tu peux dans ce cas récupérer le tableau $data en faisant un simple "Machin::data". Si le tableau n'est pas statique, pour y accéder, tu dois d'abord créer une instance de la classe Machin avec un "$bidule = new Machin()" et tu pourras alors faire "$bidule->data" pour accéder à la même information (ce dernier laissant supposer que "$bidule->data" ne retournerait pas la même information que l'instance "$truc->data").
En gros, il te permet d'accéder à un attribut ou à une méthode propre à ta classe, mais qui ne nécessite pas nécessairement d'avoir une instance particulière de ta classe. Supposons par exemple que j'ai une classe "Voiture" et que je souhaite stocker le nom de la table en base de données dans un attribut de cette classe. Je peux alors faire appel à Voiture::nomTable pour le récupérer dans une requête ou autre, car ce sera toujours le même que ma voiture soit une Ferrari ou un Mini-bus Volkswagen à rideau, alors que Ferrari->NbDeChevaux n'aura sans doute pas le même effet que Minibus->NbDeChevaux

Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...