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 :

Questions de débutant sur MVC!


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 47
    Points
    47
    Par défaut Questions de débutant sur MVC!
    Bonjour,

    J'ai suivi le tutoriel "évoluer vers une architecture mvc en php" de Baptiste Pesquet( http://bpesquet.developpez.com/tutor...ure-mvc/#LIV-C ), sans faire la partie "V. Construction d'un framework MVC".

    J'essaie de faire un site web en mvc et j'ai un petit problème qui vient du fait que je ne maîtrise pas vraiment mvc. J'ai crée, comme dans le tuto, un routeur qui appel mon contrôleur, et le contrôleur qui appel mes modèles et mes vues.
    j'ai un lien dans ma vue "Accueil" qui me faire accéder à une autre vue.

    Q1) il faut que j'appel mon contrôleur pour qu'il me donne la vue ou est ce que je dois appeler mon routeur en premier pour qu'il me donne mon contrôleur.

    Q2) Que doit-je mettre dans mon lien: <a href="???">lien</a>

    merci pour vos réponse.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut

    C'est très simple : dans le MVC absolument tout ce qui provient de l'extérieur doit passer par une route.
    Ensuite, c'est en interne que tu fais la cuisine qui va associer la route à un contrôleur (le routage).

    A la lecture de ma réponse, tu dois pouvoir déterminer ce que tu dois mettre dans le lien.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 82
    Points : 47
    Points
    47
    Par défaut
    Merci!!
    ce problème a été résolu.

    J'ai une autre question concernant le php objet MVC, sa concerne l'inclusion des fichiers css.

    Dans mes vues j'ai un fichier Gabarit.php qui correspond au squelette de mes vues et qui contient donc tous les éléments communs et permet d'ajouter les éléments spécifiques à chaque vue.
    Dans ce fichier, j'ai les balises <head> </head> dans lesquelles j'appelle mes fichiers css.
    Du coup, je suis obligé d'appeler TOUS mes fichiers css dans le gabarit et je trouve sa un peu lourd.(ex:si je suis à la page accueil, j'appelle aussi les fichiers css de mes autres pages);

    J'ai essayé une autre solution qui consiste à mettre une variable php à la place du chemin du fichier css dans le <link>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
            <link rel="stylesheet" href="UI/css/<?php echo $action; ?>.css" />
    </head>
    Ici ma variable $action contient le nom de ma vue. Par exemple, pour ma vue Accueil.php, sa va m'inclure le fichier Accueil.css.
    Du coup, j'aurais le bon fichier pour chacun de mes vues. L'inconvénient c'est que je dois avoir autant de fichiers css que de vues.

    Je ne sais pas trop quelle méthode utiliser, c'est pourquoi je vous pose la question.
    Je n'attends pas une réponse exacte ici, mais plutôt votre methode de travail.

    J'espère avoir été claire.
    Merci pour vos réponse.

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Ton approche est fastidieuse à souhait... Sans compter qu'en cas de design complexe, tu devras quand même arriver à lister des fichiers css portant des noms différents de ta page.
    Tu devrais plutôt décomposer le DOM en blocs et insérer dynamiquement les dépendances au rendu.

    Tu te frottes plus à un problème de conception d'un moteur de template qu'à du MVC.
    Dans ce cas de figure, tu tripatouilles le V du MVC.

    Le mieux serait que tu regardes comment procèdent les différents frameworks avec cette problématique.

    Personnellement, j'ai un système qui fonctionne ainsi (exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // rendu du menu
    $nav = new NavBar();
    echo $nav->render();
     
    // dans le code de NavBar, j'ai la possibilité de faire ce genre de chose : 
    $this->addCssLink(...);   // ça ira automatiquement dans le <head> au rendu
    $this->addJsLink(...);    // ça ira automatiquement dans le <head> au rendu
    $this->addCssScript(...); // du css brut à rajouter au bloc...

Discussions similaires

  1. question de débutant sur l'import DLL
    Par pdgnr dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/04/2006, 21h26
  2. question de débutant sur les jointures
    Par dreamcocktail dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2006, 15h24
  3. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 14h29
  4. Question de débutant sur la commande Accept
    Par deaven dans le forum Oracle
    Réponses: 1
    Dernier message: 21/10/2005, 08h25
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51

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