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 :

variable formulaire en mémoire MVC


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 107
    Points : 132
    Points
    132
    Par défaut variable formulaire en mémoire MVC
    Bonjour,

    Je vous expose un petit problème de conception que je rencontre. Enfin c'est surtout que j'aurais besoin de vos avis pour bien démarrer.
    J'utilise le modèle MVC dans mon projet. La question concerne un module de gestion d'utilisateurs. Les utilisateurs ont un nom, un prénom, une adresse mail et une fonction. Les utilisateurs sont rentrés via un formulaire, et il arrive souvent que plusieurs utilisateurs aient la même fonction.
    Donc j'aimerais pouvoir garder la fonction en mémoire pour ne pas avoir à la choisir à nouveau.

    Voici comme ça se passe :
    Je récupère les données de la base avec le modèle -> le contrôleur envoie les données du modèle à la vue -> la vue affiche des champs modifiables avec les valeurs contenues dans la base (pour les fonctions des utilisateurs).
    Une fois le formulaire validé, il est envoyé au contrôleur -> Qui transmet au modèle pour ajouter l'utilisateur dans la base.

    Pour garder les données du formulaire en mémoire, j'avais pensé à les transmettre au contrôleur depuis la vue (comme je le fais actuellement), de les stocker dans les variables, et de les repasser à la vue si elles ne sont pas vides.
    Mais ça c'est sur le papier... Est-ce que cette idée est bonne ?

    J'espère avoir été le plus clair possible,

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    Je ne suis pas sûr d'avoir bien compris la question, en particulier cette histoire de fonction, mais je vais essayer.

    • - l'utilisateur valide le formulaire
    • - le contrôleur récupère les valeurs postées
    • - le contrôleur récupère en base l'objet d'après son identifiant (par exemple un utilisateur) en le demandant au modèle
    • - le contrôleur modifie l'objet en lui affectant les valeurs qui ont été postées
    • - Si l'objet est valide:
      • - le contrôleur enregistre l'objet dans la base en demandant à l'orm de le faire
      • - la même action du contrôleur récupère à nouveau l'objet dans la base auprès du modèle (parce que les données du modèle ne sont pas forcément celles qu'il y a dans le formulaire, à cause de corrections faites par le modèle, ou parce que des champs sont calculés et pas gérés en interne, comme la date de modification de la fiche par exemple) et réaffiche la vue ou bien rappelle l'action qui gère l'affichage de la vue qui elle récupèrera les données auprès du modèle
    • - Si l'objet n'est pas valide, l'action qui gère la modification réaffiche la vue, l'objet affiché par la vue étant celui modifié pour tenir compte de la saisie mais non enregistré dans la base


    Dans tous les cas, la vue affiche un objet, et a donc des champs à afficher. Même dans le cas de l'affichage du formulaire pour enregistrer un nouvel objet, elle affiche l'objet mais qui a été juste instancié.

    Tu dis "envoie les données" ou "transmet les données", mais pour être sûr, je précise qu'en php le contrôleur fait un include ou un require de la vue, donc en fait il peut y avoir un transfert de variable par exemple du genre $view->model = $mon_utilisateur mais pas besoin de session par exemple, au niveau de la vue les données du contrôleur sont en fait directement utilisables puisqu'on a fait un require.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/10/2006, 15h28
  2. pb transmission de variables formulaire
    Par clairette dans le forum Langage
    Réponses: 6
    Dernier message: 02/06/2006, 08h34
  3. Réponses: 2
    Dernier message: 24/05/2006, 00h58
  4. Pb Variable formulaire
    Par elkhy dans le forum VBA Access
    Réponses: 6
    Dernier message: 05/05/2006, 16h43
  5. [Tableaux] passage de variable formulaire
    Par Stef.web dans le forum Langage
    Réponses: 4
    Dernier message: 23/01/2006, 10h44

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