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 :

[MVC] action utilisateur -> controller ? [POO]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut [MVC] action utilisateur -> controller ?
    Bonjour,

    je me pose une question d'architecture dans le cadre du MVC : toute action demandée par l'utilisateur est-elle bien prise en charge par le contrôleur ? Si oui, le fichier qui va traiter l'action demandée contient bien du code procédural ? (qui va probablement exécuter des méthodes de classe)

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Je précise ma pensée et merci de me dire si j'ai juste ou non :

    • le rôle du contrôleur est de traiter toutes les actions ;
    • le rôle du modèle est de gérer les données ;
    • le rôle de la vue est d'effectuer les affichages.

    Une action demandée par l'utilisateur se traduit par une URL, donc va déclencher l'exécution d'un fichier, donc il faut bien que ce fichier contienne du code procédural, vu que s'il contient une classe, il est déclaratif, et l'appeler ne produira rien.

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    je pense avoir raison concernant le rôle du contrôleur, du modèle et de la vue (si ce n'est que le rôle de la vue consiste en l'ensemble des interactions avec l'utilisateur (donc affichage et saisie)). Par contre, je n'ai pas de réponse pour la 2e partie de mon post : est-ce que les contrôleurs sont constitués plutôt de code procédural ? (Si on part sur du MVC en POO).

    Maintenant que rawsrc a quitté DVP, j'en appelle aux autres connaisseurs des 2 sujets (MVC et POO).

    Merci d'avance d'une réponse.

  4. #4
    Membre chevronné Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 165
    Par défaut
    Bonjour laurentSc,

    Je te confirme que tu as bien compris le concept du MVC,
    Oui toutes actions réalisées par un utilisateur sont exécutées dans un contrôleur.

    Concernant ton interrogation sur le code "Procédurale",
    Tous code est procédurale, puisque chaque instruction suit une procédure d'exécution.

    Mais si tu veux dire qu'il faut que tu utilises uniquement des méthodes d'objets ou des fonctions, il y a pas de réponses toutes faites.
    Tu vas avoir des cas ou tes contrôleurs utiliseront principalement des méthodes ou des fonctions et d'autres les 2.

    Si tu choisis d'utiliser uniquement les méthodes d'objet tu te prives des fonctions natives de PHP (strlen, strpos...) et ça n'a pas de sens.

    Cordialement

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 497
    Billets dans le blog
    1
    Par défaut
    Merci de me répondre. Ca fait un moment que je code en PHP, mais encore jamais utilisé la philosophie MVC, ni codé en POO (juste des petits tests).

    En fait, mon interrogation, je la précise :

    dans le dossier model, que des classes, par contre dans le dossier controller, pour traiter les requêtes utilisateur, ça sera pas des classes, mais du code que j'appelle "procédural" et qui va se servir à la fois des fonctions natives de PHP et de méthodes "model" ou "controller" (car bien sûr, rien n'empêche de créer aussi des classes dans le contrôleur) et pour les vues, cf la phrase suivante. Dans view, du code procédural (du html), qui sera appelé par la classe PhpEcho de rawsrc. Est-on d'accord ?

  6. #6
    Membre chevronné Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 165
    Par défaut
    Désolé je ne comprends pas ta seconde formulation,

    Je ne connais pas ta classe PHPecho ni rawsrc.

    Si tu veux te familiariser avec le MCV en POO je te conseille plutôt de te tourner vers un framework PHP.
    Ce n'est probablement pas ton besoin dans l'immédiat, mais je pense que c'est une bonne approche pour saisir cette architecture.

    Personnellement j'utilise Laravel qui est plutôt simple et qui expose correctement le modèle, le contrôleur et la vue.
    En plus, la courbe d'apprentissage n'est pas très longue :p

  7. #7
    Invité de passage
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2020
    Messages : 1
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    par contre dans le dossier controller, pour traiter les requêtes utilisateur, ça sera pas des classes, mais du code que j'appelle "procédural"
    => Le dossier controller contiendra également des classes. Un controller est une classe qui contient des methods (action). Le routing entre l'url et la methode appelée se fait généralement via un fichier de "routes" dans lequel on fait une correspondance entre une url et une method dans un controller.

    => Si la POO est facilement expérimentable en PHP pure, je pense que tu devrais utiliser un framework pour faire du MVC. Cette architecture fait appel à plein de mechanisme (typement le routing qui match une url à une action dans un controller) que tu devras coder à la main si tu n'utilises pas de framework.

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

Discussions similaires

  1. Thread et Action Utilisateur
    Par dr23fr dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 19/11/2007, 15h46
  2. compteur dynamique sur action utilisateur
    Par Goldorak2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/07/2007, 14h26
  3. Réponses: 4
    Dernier message: 05/06/2006, 09h28
  4. [STRUTS- TILES] Chainage d'actions ou Tiles Controller
    Par DarkWark dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/01/2006, 10h47
  5. Réponses: 3
    Dernier message: 19/01/2006, 18h58

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