Fonction vs Class

Fonction vs Class - PHP - Programmation

Marsh Posté le 29-09-2006 à 11:15:04    

Hello,
 
Dans tous mes devs je bosse qu'avec des fonctions (afficher des requetes, swicth, etc)
 
Je regarde les class pour maitriser un peu mais j'aimerai avoir votre avis la dessus : pour quelle raison utilisez vous des classes ? quel type d'appli/site ?
Avez vous basculé de fonction à class et pour quelle(s) raison(s) ?
 
 
 :hello:

Reply

Marsh Posté le 29-09-2006 à 11:15:04   

Reply

Marsh Posté le 29-09-2006 à 12:17:05    

Vu que je fait maintenant des sites basé sur des modules et un systéme de template, je me retrouve avec :
- deux classes minimum par module  : une qui n'a que le menu, et une qui contient à la fois le menu et le contenu des pages du module. Le premier module ne contient que le menu pour éviter de créer pleins d'objet énorme quand on n'a pas besoin de grand chôse.
- plusieurs classes pour le systéme de template
- plusieurs classes pour divers objets
 
En dehors de tout ça, il me reste encore quelques rares fonctions qui correspondent à des opérations pouvant être utilisé par n'importe quel objet.
 
 
Mon passage de fonction à module s'est fait suite aux réflexion suivante :

  • on ne peut pas charger en mémoire deux fonctions ou deux classes qui ont le même nom
  • si plusieurs modules sont fait par des personnes différentes, rien ne permet de s'assurer qu'aucune fonction d'un module n'aura le même nom que les fonctions d'un autre module
  • un module n'a quasiment jamais à conaitre l'architecture d'un autre module, il n'a donc pas à avoir accés aux fonctions des autres modules
  • un module peut avoir à garder en mémoire certaines valeurs. Sans classe, ca oblige à créer des variables globales ce qui peut avoir des conséquences pour un autre module
  • l'utilisation de classes permet de mieux séparer le code du site en plusieurs sections autonomes


En clair, j'utilises des classes par ca que ca permet de moins se prendre la tête, d'avoir un code plus fiable, de mieux organiser le code et même de remplacer des classes par d'autres classes équivalentes sans que le reste des fonctions et classes ne s'en rendent compte.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed