05-07-2008, 11:51 PM
En fait le problème de la POO en PHP c'est que la plupart des développeurs en sont restés à leurs concepts de la version 4 de PHP. À savoir que sous cette version, il n'y avait pas de protection des variables. C'est arrivé avec la version 5 (les variable private, public ou protected - cette dernière étant la meilleure à mon avis).
Passer les variables des classes en privé ou protégé permet de ne les modifier que dans certains cas, et de s'assurer plus facilement que les conditions sont remplies.
Je prends un exemple avec une classe d'unité. Dans la base je vais avoir un nombre total d'unités, un nombre en défense et un nombre en attaque. Dans ma classe, ces données sont représentées par 3 variables protected (puisqu'il y a des classes héritées derrière). Admettons que je veuille permettre au joueur de de modifier le nombre en défense. Ça va passer au final par une seule méthode de ma classe, qui va s'assurer que la somme des nombres en attaque et en défense soit égale au nombre total avant d'effectuer l'opération.
Donc une meilleure gestion des bugs, liée à une centralisation des traîtements des données, et un gain de temps très appréciable en phase de débogage (notamment avec les nombreuses fonctions débug liées au classes apparues avec la version 5 de PHP ).
Passer les variables des classes en privé ou protégé permet de ne les modifier que dans certains cas, et de s'assurer plus facilement que les conditions sont remplies.
Je prends un exemple avec une classe d'unité. Dans la base je vais avoir un nombre total d'unités, un nombre en défense et un nombre en attaque. Dans ma classe, ces données sont représentées par 3 variables protected (puisqu'il y a des classes héritées derrière). Admettons que je veuille permettre au joueur de de modifier le nombre en défense. Ça va passer au final par une seule méthode de ma classe, qui va s'assurer que la somme des nombres en attaque et en défense soit égale au nombre total avant d'effectuer l'opération.
Donc une meilleure gestion des bugs, liée à une centralisation des traîtements des données, et un gain de temps très appréciable en phase de débogage (notamment avec les nombreuses fonctions débug liées au classes apparues avec la version 5 de PHP ).
Développement de Le Nouveau Monde V5.0...
Avancement global : 50%
Date de fin prévue : Septembre 2008
Avancement global : 50%
Date de fin prévue : Septembre 2008