Modérateur PHPfrance |
10684 Messages
21 févr. 2009, 12:08
Alors effectivement, ce n'est pas "nécessaire", mais c'est loin d'être inutile...
L'accesseur a en effet l'avantage de te permettre de contrôler l'accès à un attribut et ainsi éviter d'y retrouver n'importe quoi... c'est d'autant plus intéressant avec php qui ne type pas ses variables
Ca ne casse pas l'encapsulation, au contraire, ça l'enrichie dans le sens où il ne s'agit plus d'un "tout accès" ou "sans accès", mais d'une multitude de possibilités intermédiaires qui peuvent être définies dans l'accesseur
Cf. la
réponse que j'ai donné à Megadeth, un accès public à un attribut permet au développeur d'y affecter n'importe quelle valeur n'importe quand, tandis qu'un accès restreint par un set permet éventuellement de contrôler et d'assurer le type, le format, la taille, etc.
A chacun ensuite de voir le besoin qu'il peut en avoir.. pour un script perso, destiné à soi et que personne d'autre ne verra, c'est peut être pas utile de se prendre la tête... si c'est pour un usage partagé avec d'autres développeurs, certaines conventions et contrôles peuvent s'avérer nécessaires si on ne veut pas passer son temps à débugger

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