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 :

création d'un site php-mysql : essai d'utilisation du modele MVC


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut création d'un site php-mysql : essai d'utilisation du modele MVC
    Bonjour
    Je suis en train de faire un site internet pour une amie et j'essaie en même temps d'apprendre le modèle MVC. Je voudrais votre avis sur ce que j'ai fait, est-ce que j'ai compris la base ou pas ?
    J'ai donc diviser mon code en plusieurs parties (modèles, vues et controleurs)

    Voici mon arborescence :
    tdr
       commun
          constantes.php
          index.php
          init.php
       controleurs
          entete.php
          index.php
          jquery.php
       images
          banniere
             banniere1.png
          menu
             index.php
          pages
             accueil
             coordonnees
             
    chaque dossier comporte les images correspondantes aux pages
       libs
          bdd
             bdd.php
          fonctions
             afficher
                afficher_photos.php
             traiter
                traitement.php
          jquery
       media
          telecharger
             pdf
       modeles
          tarifs
             requete_tarifs.php
    ...
          requetesql.php
       modules
          admin
             admin.php
       styles
          polices
             style_bases.css
             style_ie.css
       vues
    accueil.php
    admin.php
    banniere.php
    coordonnees.php
    enete.php
    haut.php
    index.php
    jquery.php
    menu.php
    monjquery.php
    pied.php
    presentation.php
    ...
    MON PROBLEME : je n'arrive pas à mettre mes fichiers de vues dans le répertoire VUES. Quand je le fais, seul la page d'accueil réussi à s'ouvrir après j'ai des problèmes avec les chemin de fichier (il faut ajouter .// ou ../../) mais à ce moment-là mes chemins définis dans constantes ne me servent plus car cela ne fonctionnent plus... J'ai le même problème avec les fichiers jquery que je ne peux pas inclure dans le dossier JQUERY.
    Le seul moyen que j'ai trouvé (pour l'instant et cela ne me convient pas) c'est de tout mettre à la racine du site au niveau des vues et des fichiers jquery...

    je vous mets le code de quelques fichiers principaux pour que vous me compreniez mieux :

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    // Initialisation
    require_once 'commun/init.php';
     
    //On inclut la page d'accueil du site
    require_once VUES.'accueil.php';
    init.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    //Le fichier d'initialisation sera appelé sur toutes les pages depuis index.php, depuis l'emplacement  ~/commun/
    // Inclusion du fichier de configuration (qui définit des constantes)
    require_once 'commun/constantes.php';
    constantes.php
    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
    45
    46
    <?php
     
    // Chemins à utiliser pour accéder aux répertoires
     
     
    define('CONTROL', 'controleurs/');
     
    define('MODELE', 'modeles/');
     
    define('COMMUN', '../commun/');
     
    define('VUES','');
     
    define('VUESADMIN','../../');
     
    // Répertoire contenant les fichiers à accès restreints.
    define('RESTREINT', 'modules/admin');
     
    define('LIB_FUNCTION', 'libs/fonctions/'); 
    define('LIB_CLASSE', 'libs/classes/');
    define('LIB_BDD', 'libs/bdd/');
    define('LIB_JQUERY', 'libs/jquery/');
     
    define('IMAGE_BAN', 'images/banniere/');
    define('IMAGE_MENU', 'images/menu/');
    define('IMAGE_ACCUEIL', 'images/pages/accueil/');
     
    define('TARIF', 'modeles/tarifs/');
     
    define('IMAGE_PRESENTATION', 'images/pages/presentation/');
    define('IMAGE_FEMME', 'images/pages/femme/');
    define('IMAGE_HOMME', 'images/pages/homme/');
    define('IMAGE_MOIS', 'images/pages/mois/');
    define('IMAGE_CONTACT', 'images/pages/contact/');
    define('IMAGE_DEPLACE', 'images/pages/deplace/');
    define('IMAGE_ONGLE', 'images/pages/onglerie/');
    define('IMAGE_EFFIGIE', 'images/pages/effigie/');
    define('IMAGE_MAQUILLAGE', 'images/pages/maquillage/');
     
     
    define('MEDIA_PDF', 'media/telecharger/pdf/');
     
     
    define('STYLE_BASE', 'styles/');
     
    define('ADMIN','modules/admin/admin.php');
    accueil.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php 
    		require_once 'commun/init.php';
    		require_once VUES.'haut.php'; 	
    ?>		
    <?php 	require_once VUES.'pied_accueil.php'; 
     
    ?>
    haut.php
    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
    <?php 
    		require_once VUES.'entete.php'; 
     
    ?>
     
        <body oncontextmenu="return false" ondragstart="return false" >
    		<div class="pages">
    			<header>
    					<!-- tête de la page -->
     
    					<?php 					
     
    					afficher_haut_page($file); 	
    					?>
     
    					<br>
    					<br>
    					<br>
    					<br>
     
    			</header>
    entete.php (controleurs)
    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
    <?php 
     
    		require_once LIB_FUNCTION.'afficher/afficher_google.php';
    		//affiche le logo google sur la page d'accueil seulement	
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_titre.php';		
    		//affiche le titre de la page en fonction du nom de la page affichée
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_styles.php';
    		/* affiche les fichiers de styles en fonction de la page*/
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_haut_page.php';
    		/* affiche le haut de la page en fonction des pages*/
     
    		require_once LIB_FUNCTION.'menu/connaitre_page.php';
    		/*détermine quelle est la page affichée et renvoie le nom*/
     
    		require_once LIB_BDD.'bdd.php';
    		/*connexion à la base de données*/
     
    		require_once MODELE.'requetesql.php';
    		/*affichage des requetes liees a la bdd*/
     
    		require_once LIB_FUNCTION.'menu/afficher_partie_menu.php';
     
    ?>

    entete.php (vues)
    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
    45
    46
    47
    48
     
    !DOCTYPE html>
    <html>
        <head>
    		<?php 
    				require_once CONTROL.'entete.php';	
    		?>
     
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
     
    		<?php 
    				$file = reconnaitre_page();
    				afficher_styles($file);	
     
    		?>
     
    		<!-- compatibilité avec ie 7, 8 et 9 -->		
    		<!--[if lt IE 9]>
    			<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    		<![endif]-->
    		<!--[if lte IE 7]>
    			<link rel="stylesheet" href="styles/style_ie.css" />
    		<![endif]-->
     
    		<!-- balises meta -->
    		<meta name="title" content="titre du site" />
    		<meta name="description" content="description du site">
    		<meta name="keywords" content=" mots clés">
    		<meta name="robots" content="index">
    		<meta name="REVISIT-AFTER" content="14 days">
    		<meta http-equiv="Content-Language" content="fr">
    		<meta http-equiv="Pragma" content="no-cache">		
    		<meta name="viewport" content="width=device-width" />
     
    		<meta name="google-site-verification" content="    " />
     
    		<?php 		
    				afficher_google($file);
    		?>
     
    		<title>
    		<?php 	
    				afficher_titre($file);
    		?>
    		</title>	
     
    	</head>
    requetesql.php (modeles)
    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
    <?php 
     
    		require_once LIB_FUNCTION.'afficher/afficher_google.php';
    		//affiche le logo google sur la page d'accueil seulement	
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_titre.php';		
    		//affiche le titre de la page en fonction du nom de la page affichée
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_styles.php';
    		/* affiche les fichiers de styles en fonction de la page*/
     
     
    		require_once LIB_FUNCTION.'afficher/afficher_haut_page.php';
    		/* affiche le haut de la page en fonction des pages*/
     
    		require_once LIB_FUNCTION.'menu/connaitre_page.php';
    		/*détermine quelle est la page affichée et renvoie le nom*/
     
    		require_once LIB_BDD.'bdd.php';
    		/*connexion à la base de données*/
     
    		require_once MODELE.'requetesql.php';
    		/*affichage des requetes liees a la bdd*/
     
    		require_once LIB_FUNCTION.'menu/afficher_partie_menu.php';
     
    ?>

    je pense que j'en ai trop mis, j'espère que c'est compréhensible, merci de votre indulgence !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    pour tes constantes de chemin, essaye un chemin a moitié absolu du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['SERVER_NAME'].'/dossierVues'
    comme ca le chemin reste inchangé peut importe d'où tu appelles tes vues

Discussions similaires

  1. [ifrance] Hébergement d'un site PHP/MySQL
    Par H-bil dans le forum IFrance
    Réponses: 9
    Dernier message: 29/02/2008, 02h08
  2. Conversion de sites PHP/mySQL en UTF-8
    Par sleidia dans le forum Langage
    Réponses: 8
    Dernier message: 05/02/2008, 15h53
  3. Convertir un site PHP+MYSQL en HTML
    Par Ralfman68 dans le forum Débuter
    Réponses: 2
    Dernier message: 19/09/2007, 20h13
  4. archivage d'un texte word dans un site php mysql
    Par mambax dans le forum Outils
    Réponses: 1
    Dernier message: 14/04/2006, 10h52
  5. Question pour un site PHP/MySQL et Javascript
    Par DvP dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/09/2005, 08h23

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