PDO et gestion d'erreurs

Mammouth du PHP | 1668 Messages

29 avr. 2008, 20:11

Bonsoirs à toutes et tous,

Je réalise en ce moment un site important et une question m'est venu à l'esprit, lorsque mon script commence il se connecte de cette manière et je gère les erreurs comme ça :
<?php
try
{
        $connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
}
 
catch(Exception $e)
{
        header("Location:erreur_sql.php?cas=1";
}

?>
Je penses que c'est bon ^^

Mais je sais qu'il serait bien que je fasse la même vérification à chaque requête SQL

Mais je n'y penses que maintenant :/ 250.000 de code...

Dois-je le faire tout de suite ou puis-je attendre la version bêta ???

D'avance merci pour vos réponses, même si elles sont méchantes :twisted:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphanteau du PHP | 20 Messages

02 mai 2008, 13:28

utilises PDOException directement :)
Par contre si tu catch; auttant chopper l'erreur ou la renvoyer, car là tu redirige sans trop savoir quel est ton erreur. Peut-être est-ce le moment de te cérer une classes de gestion des erreurs. Tu as un articles assez complex sur phpclasses ;)

Si tu veux mieux gérer tes erreurs sur la connexion de PDO au serveur tu aurait du composer un singleton :wink:

Mammouth du PHP | 1668 Messages

02 mai 2008, 14:05

Tu peux me traduire tes deux dernière phrase j'ai rien compris :roll:

PS : ça fait 2 et demi ans que je fais du PHP/PHP5, avec mon bouquin j'ai jamais compris l'utilité des class (sauf avec PDO) dans PHP --'
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 mai 2008, 14:20

PS : ça fait 2 et demi ans que je fais du PHP/PHP5, avec mon bouquin j'ai jamais compris l'utilité des class (sauf avec PDO) dans PHP --'
Eh bien, typiquement, à mettre le code que tu veux associer à une erreur d'exécution dans une unique méthode, et non pas le copier/coller dans chaque script où tu exécutes une erreur, pour commencer.

Egalement pour "ranger" les codes avec l'objet qui leur correspond le plus

Ou encore pour pouvoir transporter des briques d'une application à une autre sans retoucher de code ?

Et le mieux pour la fin, pouvoir séparer la logique métier de la logique présentation. C'est à dire qu'il y a les objets qui contiennent le code qui récupère, trie, modifie les données, et les interfaces "standard" qui les présentent pour l'affichage.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 1668 Messages

02 mai 2008, 14:25

Dans un sens c'est plutôt logique, mais ça a plus de sens en C++ si je puis me permettre :roll:

Maintenant que la troisième question est complétée, j'aimerais bien avoir la réponse à la deuxième.

Je comprend toujours rien à ses deux dernière phrase xD Au grand chaman livre moi tes secrets...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol