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

MVC PHP Discussion :

Filtrage des données, qui s'en occupe ?


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    Bonjour,

    Je pense que c'est au controller de vérifier la sanité des données.
    Le modèle ne devrait pas faire ce genre de vérification.

    S'il un objet du modèle existe c'est qu'il est sain, sinon il n'a aucune raison d'exister...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Aurelpitiless Voir le message
    Bonjour,

    Je pense que c'est au controller de vérifier la sanité des données.
    Le modèle ne devrait pas faire ce genre de vérification.

    S'il un objet du modèle existe c'est qu'il est sain, sinon il n'a aucune raison d'exister...
    C'est au modèle de vérifier le bien fondé des données et pour cause : les données attendues dépendent précisément du modèle et sont traitées par celui-ci.

    Selon MVC, le contrôleur ne fait que transmettre les données au modèle, rien d'autre en ce sens.

    Et c'est justifiable :

    En poursuivant dans ton raisonnement, si le modèle est utilisé par plusieurs contrôleurs, il faudrait recopier le code vérification des saisies à chaque fois.

    La réutilisation est une bonne pratique orienté objet, pas le copier-coller.

    Par ailleurs, le développeur tier qui aurait le malheur d'omettre le code en question risquerait de compromettre l'application toute entière...

    Bye

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    le contrôleur ne s'occupe que d'une chose
    la logique applicative
    il utilise les services du modèle
    transmet les données du modèle à la vue et de la vue au modèle
    Il filtre au passage les données
    mais ce n'est pas lui qui sais si le contenu des données est bon.
    c'est le métier qui détiens cette info

    en terme de filtre le contrôleur à juste en charge l'adaptation des données à la forme attendue soit par le modèle soit par la vue.

    enfin le modèle est aussi utilisable par d'autres éléments que les contrôleurs
    comme les webservices par exemple
    si tu mets du métier dans le contrôleur il te faudra alors le remettre dans les services

    A+JYT

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    en terme de filtre le contrôleur à juste en charge l'adaptation des données à la forme attendue soit par le modèle soit par la vue.
    Je me suis mal exprimé, mais quand je parlais de sanité des données je parlais de cette étape de filtrage. (validation de type, etc).

    Bien sur que le modèle ne doit accepter que des données valides...(validation d'un point de vue logique applicative).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Aurelpitiless Voir le message
    Je me suis mal exprimé, mais quand je parlais de sanité des données je parlais de cette étape de filtrage. (validation de type, etc).

    Bien sur que le modèle ne doit accepter que des données valides...(validation d'un point de vue logique applicative).
    Je vois toujours pas l'intéret (la nécessité) d'intégrer une couche de filtrage au niveau du contrôleur.

    Donnez un exemple concret de ce que vous avancez .

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    le modèle se charge de vérifier que le numéro de code du client est conforme à la spécification d'un client

    le contrôleur lui enlève des donnée issue de son formulaire les balise HTML ou le code SQL qu'un malotru chercherais à insérer

    Le modèle vérifie que la date de rendez-vous demandé par le client est conforme au règles de prise de rendez-vous

    le contrôleur lui récupère la chaine de caractère du champs date la dépouille de toutes les intrusion et en fait un élément du type attendu par le modèle. (init string date object etc.)

    A+JYT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/09/2008, 11h20
  2. filtrage des données en local
    Par schwarzy2 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/04/2008, 11h20
  3. Réponses: 1
    Dernier message: 28/02/2008, 14h26
  4. Réponses: 3
    Dernier message: 30/03/2007, 09h53
  5. Travailler sur des données qui doivent être triées
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/07/2003, 17h13

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