fonction ou POO ?
question intéressante, réponse qui le sera aussi :
avec les fonctions, on rend le code plus court, plus centralisé, tout ça.
on se dit qu'on est le roi, mais non, car on va avoir encore du boulot chiant : faire évoluer le script.
exemple :
on a un script d'inscription, login + mail + pass + pass confirmation
on a fait de jolies fonctions aux noms parlants :
verifierDonnees( $login, $mail, $pass, $pass_confirmation )
enregistrerCompte($login, $mail, $pass)
envoyerConfirmationMail($login, $mail)
on veut passer à la V2, et ajouter des races, à choisir à l'inscription. on doit modifier les fonctions :
verifierDonnees( $login, $mail, $pass, $pass_confirmation, $race)
enregistrerCompte($login, $mail, $pass, $race)
envoyerConfirmationMail($login, $mail, $race)
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 :
question intéressante, réponse qui le sera aussi :
avec les fonctions, on rend le code plus court, plus centralisé, tout ça.
on se dit qu'on est le roi, mais non, car on va avoir encore du boulot chiant : faire évoluer le script.
exemple :
on a un script d'inscription, login + mail + pass + pass confirmation
on a fait de jolies fonctions aux noms parlants :
verifierDonnees( $login, $mail, $pass, $pass_confirmation )
enregistrerCompte($login, $mail, $pass)
envoyerConfirmationMail($login, $mail)
on veut passer à la V2, et ajouter des races, à choisir à l'inscription. on doit modifier les fonctions :
verifierDonnees( $login, $mail, $pass, $pass_confirmation, $race)
enregistrerCompte($login, $mail, $pass, $race)
envoyerConfirmationMail($login, $mail, $race)
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;
}
A+
Pascal, dodo