Page 1 sur 1

Redite et simplification

Posté : 29 mars 2011, 14:39
par albius
Bonjour/ bonsoir,

Dans mes méthodes, je travaille avec l'objet PDO, avec lequel je gère les exceptions. La fin de méthode est à peu près la même pour toutes :
try {
                if ($select->execute()) {
                    $this->data = $select->fetch(); //--> ou une boucle while(){
                    $select->closeCursor();
                } else {
                    Generalites::$message = 'message';
                }
            } catch (PDOException $e) {
                header('Location:'.Generalites::$erreurPage);
            }
}
D'où ma question : est-il judicieux et possible de transformer ce code en une méthode que je pourrai réutiliser à chaque fois, plutôt que d'avoir à retaper systématiquement ce même code...
merci,

Re: Redite et simplification

Posté : 29 mars 2011, 15:27
par xTG
A la vue du $this tu travailles à l'intérieur d'un objet.
Cet objet a-t-il tant de fois ce code écrit ?
Par contre si ce code dont tu parles est le même utilisé dans plusieurs objets ce n'est plus la même problématique.
Il serait alors plus viable de faire une class héritant de la class PDO et intégrant ce comportement.

Re: Redite et simplification

Posté : 29 mars 2011, 15:42
par albius
Je dirai qu'il y a des deux (Mais je n'utilise $this->data qu’une fois ou deux maximum)
En fait, j'ai trois objets et le plus important d'entre eux contient six méthodes... C’est effectivement presque autant de fois que je réécris la même structure de code...

Re: Redite et simplification

Posté : 29 mars 2011, 16:14
par xTG
Créés donc toi une class héritant de PDO dans ce cas et intégrant ce code. :)

PS: il serait bon de mettre un exit() derrière le header() afin que l'instruction suivante ne puisse dans aucun cas être exécutée.

Re: Redite et simplification

Posté : 30 mars 2011, 10:13
par albius
Héritage depuis PDO... On va étudier ça... (' suis débutant en POO)
Merci pour le 'exit'.