par
insomniak » 17 juin 2006, 20:53
re !
comme je suis de retour et que j'ai un peu de temps devant moi, voici l'explication de mon truc :
J'ai un fichier index.php qui gere les modules qui sont affichés sur ma page.
un parametre dans l'url dit quel module doit etre chargé. Sans parametre il include le fichier main.php
Dans main.php, j'affiche moult choses donc plusieurs parties et plusieurs objets qui n'interferent pas entre eux. Imaginons qu'un objet crash en cours de route. Il faudrait qu'uniquement cette partie merde et pas le reste.
Maintenant, dans les objets si je leve une exception de type erreur de soft, ok, je met en vrac la page, ca ca me semble logique. Donc pour la partie crash d'objet normal pour moi c'est acquis y'a pas de lezard.
Par contre pour ce qui est des erreurs autres (admettons, lors d'un upload, je teste si l'upload est une image de type gif ou jpeg) là je galere. Car avec un systeme d'erreur lambda je dois faire des tests if.
Pour te citer le pire exemple que je puisse te donner, voici un algo de ce que je fais dans la partie upload :
if(jai pas plus de 4 images dans ma banque d'images)
if(ma 4eme image est vide)
if(variable $_FILES[mon fichier] pas vide && pas d'erreur)
if(fichier uploadé)
if(fichier uploadé est une image)
if(fichier uploadé est un gif ou un jpeg)
if(sa resolution x < 2500 et sa resol y < 1950)
alors fais le traitement
sinon
affiche "resol trop elevée"
sinon
affiche "ce n'est pas un gif ou jpeg"
sinon
affiche "ce n'est pas une image"
sinon
affiche "fichier pas uploadé"
sinon
affiche "erreur d'upload"
sinon
affiche "vous avez deja 4 images"
sinon
affiche "vous avez dépassé la limite de 4 images"
Comme tu peux le constater ca donne pas mal de lignes pourrav avec une indentation en montagne.... bref, c'est pas top.
Avec un systeme de throw, je dirais que le probleme de l'indentation n'est plus, mais par contre, c'est plus vraiment dans la logique de developpement. De plus, pour afficher l'erreur à l'utilisateur sans trop perturber la suite c'est pas top...
Comment ferais tu toi?
Là je dois dire que je m'embrume le cerveau avec tout ca ^^
Pour l'exemple que tu viens de citer, pas de probleme ca c'est acquis pour moi.
Merci d'avance