07-02-2008, 06:53 PM
pascaltje, il ya un truc, même 2, que je cerne pas dans ce que tu as dit :
pascaltje a écrit :(...)
mais aussi modifier le script utilisant les fonctions : on doit ajouter partout $race aux arguments.
c'est facile si tout se trouve dans un seul script, mais si ça se trouve sur plein de pages ?
comment être sûr de ne pas en oublier ? (cf ex de zamentur fonction placer() qui se retrouve partout )
comment être sûr qu'on ne va pas se planter dans un script et taper $rcae au lieu de $race ?
avec une classe, on cache les parametres de fonction dans l'objet.
concretement, on ajoute un membre ( ou attribut ) $race dans la définition de la classe;
ensuite on modifie les méthodes ( équivalent de fonctions ), c'est à dire le code à l'intérieur des méthodes, pour tenir compte de la race. mais on ne modifie pas la signature de la méthode ( le nombre des arguments, en gros ) puisqu'il n'y a pas d'arguments à passer à la méthode : tout est dans l'objet.
ex :
fonction verifierDonnees( $login, $mail, $pass, $pass_confirmation, $race)
devient
méthode verifierDonnees()
avec un objet de structure :
Code PHP :<?php
class inscription{
public $login;
public $mail;
public $pass;
public $pass_confirmation;
public $race;
}
1) Si tu modifie une méthode dans une classe et/ou que tu rajoute une propriété à ta classe, tu es bien obligé de parcourir tout ton code pour insérer cette propriété et/ou cet argument à la fonction.
2)je ne comprends pas ton exemple, même avec une structure comme celle que tu donnes, je ne vois pas comment je peux passer de :
fonction verifierDonnees($login, $mail, $pass, $pass_confirmation, $race)
à
fonction verifierDonnees()
il faut bien passer les arguments à un moment ou à un autre... si tu ne les passe pas directement à l'appel de ta fonction, tu dois les passer avant, en settant chaque propriétés ($inscription->race='trucmuche')
ca revient au meme, ou bien il ya un truc qui m'a complètement échapper...