IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Couche service, gestion des erreurs


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut Couche service, gestion des erreurs
    Couche service, gestion des erreurs
    Bonjour,

    Un exemple tout simple vaut mieux qu'une question compliquée.

    Dans une couche service, une méthode addUser(oUser) permet d'ajouter un utilisateur en base de données.
    Elle prend un objet utilisateur en paramètre.

    La méthode addUser(oUser) valide l'entité avant ajout en base de données.
    Imaginons les attributs login, mot de passe, email...

    En cas d'erreur sur un ou plusieurs attributs, comment retournez-vous toutes les erreurs à la fois ?
    Un tableau d'erreurs, un objet/collection d'erreurs, l'objet en entrée modifié, exceptions ?
    Avez-vous une règle, une convention, etc... ?

    Merci,
    Dorian

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Les règles et les conventions c'est surtout quand on travaille en groupe. Bah sinon c'est un peu comme ça t'arrange, suivant le contexte et tes habitudes de codage.
    Perso j'utilise la plupart du temps une variable de session dans laquelle je stocke le tableau des erreurs et que j'efface suite à l'affichage des erreurs.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Comme le dis ABCIWEB ça va dépendre du contexte.

    Si tu fais déjà une vérification javascript pour le confort de l'utilisateur, tu peux te permettre de simplement lever une exception.

    Si tu as besoin de plus de détail, j'opterais pour un tableau listant les champs posant problème , mais encore une fois ça reste très personnel.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonsoir,

    Je commencerais par séparer validation et enregistrement dans deux méthodes séparées.

    Après, j'aurais tendace à utiliser des exceptions (avec code distinct pour les différencier), sauf en cas de validation de données issues d'un formulaire, puisque là les données non-valides n'ont plus ce caractère "exceptionnel", puisque cela fait partie des comportements attendus. De plus, on peut avoir besoin de remonter toutes les erreurs en même temps afin de permettre à la couche cliente de les corriger, d'ù l'intérêt du tableau.

    Donc, en cas d'erreur, soit la méthode de validation renvoie le tableau des erreurs, soit elle renvoie false et remplit le tableau d'erreur, à charge pour le client de le récupérer s'il le désire.

Discussions similaires

  1. Couche service, gestion des erreurs
    Par dorian53 dans le forum ALM
    Réponses: 0
    Dernier message: 20/02/2013, 00h49
  2. Service Web WCF et gestion des erreurs
    Par didine44 dans le forum Services Web
    Réponses: 18
    Dernier message: 16/10/2012, 15h35
  3. gestion des erreurs venant de différentes couches
    Par ikuzar dans le forum Débuter
    Réponses: 2
    Dernier message: 01/04/2011, 13h09
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 18h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 23h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo