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 :

Placer les éléments en MVC


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut Placer les éléments en MVC
    Bonjour à toutes et à tous.

    J'ai tenté de faire un MVC de base mais je doute que mon index principal soit comme ceci un contrôleur
    je crois que mon model est correcte et mon layout mais mon fichier show lui je ne suis pas capable de
    mieux le couper pour en faire deux étant donnée mon CSS qui fait deux blocs. Je souhaite de l'aide
    pour m'aider à corriger mes erreurs sans nécessairement aller dans la complexité.

    Mon index qui se trouve être le contrôleur pour le model.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        <?php // fichier /INDEX.PHP:
      require_once('model/model.php'); 
      $oArtiste = new Artiste($cxn);
      require('view/show.php')
        ?>
    Mon fichier de connexion en PDO.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        <?php // fichier /MODEL/CONNECT.PHP: 
     
        $dnsh = "mysql:host=localhost;dbname=ptg";
        $user = "root";
        $pass = "";
     
        $cxn = new PDO($dnsh, $user, $pass);
        $cxn ->setAttribute(PDO::ATTR_PERSISTENT,true); //a le même effet qu'un singleton, sans les inconvénients
        $cxn ->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    Mon fichier model qui fait deux requêtes d'une liste et le détail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
        <?php // fichier /MODEL/MODEL.PHP:
     
        include_once ('connect.php');
     
        class Artiste{
            private $_conn;
            public function __construct($cxn){
                $this->_conn = $cxn;
            }
     
            public function lister(){
                $stmt = $this->_conn->prepare('SELECT * FROM artistes');
                $stmt->execute();  
                return $stmt->fetchAll(PDO::FETCH_OBJ);
            }    
     
            public function afficher($id=null){
                $stmt = $this->_conn->prepare('SELECT * FROM artistes WHERE id = :id');
                $stmt->bindParam(':id', $id, PDO::PARAM_INT);
                $stmt->execute();  
                return $stmt->fetchAll(PDO::FETCH_OBJ);
            }    
        }
    La vue, je ne vois pas comment je peux séparer ma vue étant donnée que j'ai un bloc CSS et que j'ai deux affichages
    un d'une liste et l'autre le détail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
        <?php ob_start() // fichier /VIEW/SHOW.PHP:    ?>
     
            <div class="wrapper">
     
                <header class="header">
                </header><!-- .header-->
     
                        <div class="middle">
                            <div class="minheight">
     
                                <div class="container">
                                    <main class="content">
                                            <?php
                                            $artiste_id  = (empty($_GET['artiste']))?'1':(int)$_GET['artiste'];
                                            $AfficherArtistes = $oArtiste->afficher($artiste_id);
                                            foreach($AfficherArtistes as $a_artiste) {
                                                        echo $a_artiste->id ." ". $a_artiste->prenom ." ". $a_artiste->nom;
                                             }
                                            ?>
                                    </main><!-- .content -->
                                </div><!-- .container-->
     
                                <aside class="left-sidebar">
                                    <main class="content">
                                            <?php
                                            $ListerArtistes = $oArtiste->lister();
                                            foreach($ListerArtistes as $l_artiste) {
                                                         echo "<a href='http://localhost/index.php?artiste=" . $l_artiste->id . "'>".$l_artiste->prenom ." ". $l_artiste->nom . "</a></br>";
                                            }
                                            ?>
                                    </main><!-- .content -->
                                </aside><!-- .left-sidebar -->
     
                            </div><!-- .minheight-->
                        </div><!-- .middle-->
     
                <footer class="footer">
                </footer><!-- .footer -->
     
            </div><!-- .wrapper -->
     
        <?php $content= ob_get_clean(); ?>
        <?php include_once('layout.php'); ?>
    Et le template qui affiche la vue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
      fichier /VIEW/LAYOUT.PHP:
        <!DOCTYPE html> 
        <html>
        <head>
            <meta charset="utf-8" />
            <!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
            <title></title>
            <meta name="keywords" content="" />
            <meta name="description" content="" />
            <link href="/view/style.css" rel="stylesheet">
        </head>
        <body>
     
        <?php echo $content; ?>
     
        </body>
        </html>
    Images attachées Images attachées  
    On oublie souvent la simplicité ou la base dans la vie: Maslow

Discussions similaires

  1. Où placer les accesseurs dans une architecture MVC ?
    Par fadeninev dans le forum Zend Framework
    Réponses: 4
    Dernier message: 19/11/2007, 11h41
  2. Réponses: 3
    Dernier message: 18/02/2005, 10h05
  3. Réponses: 15
    Dernier message: 21/06/2004, 16h52
  4. [TOMCAT][XML] Ou placer les fichiers XML ?
    Par kitov dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 01/06/2004, 14h29
  5. Réponses: 2
    Dernier message: 11/08/2003, 09h43

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