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 :

Bonne méthode découpage de site et include


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Bonne méthode découpage de site et include
    Bonjour à vous,

    Ma question va peut être paraitre "bête"...
    Voilà sur différents site, forum, etc..., j'ai vu 3 façons de structurer son site dans le cas où il y a des parties identiques (ex: bannière, menu, pied de page) bref seulement le contenu principal change.

    la 1ere méthode :

    Une page index.php dedans nous avons nos balises html et nous faisons les includes du contenu principal entre les balises body en vérifiant que la page à inclure existe etc.
    Donc on appel les pages comme ceci: http://...../index.php?page=inscription


    la 2eme méthode :

    Presque identique à la 1ere, sauf que l'on inclut le fichier au début de index.php et ensuite on utilise des fonctions ob_start() , ob_get_contents(); et on fait un echo tu contenu récupérer entre les balises body.
    Donc on appel les pages comme ceci: http://...../index.php?page=inscription

    la 3eme méthode :

    Qui consiste à avoir un header.php , menu.php , footer.php donc on découpe les parties identiques et on fait les includes dans chaque nouvelle page.
    Donc on appel les pages comme ceci:
    http://...../index.php, http://...../inscription.php, http://...../article.php etc.


    Mes questions sont :

    Y a t-il une véritable méthode à suivre pour bien faire ses includes?
    Ces 3 méthodes sont elles correctes ?
    Cela dépend t-il du contenu à traiter ?
    Au niveau de l'utilisation du serveur, y a t il une différence ?
    Cela peut il posait des problèmes de sécurité notamment pour la gestion des sessions ou autres ?
    Problèmes de référencement ou pour utilisé la réécriture d'url ?
    Dans le cas d'ajout d'AJAX ?
    Pour faire simple avantages et inconvénients des méthodes ?

    Merci beaucoup de vos réponses, bon dimanche.

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    Salut,

    personnellement, j'aime bien la faire un mix entre la #1 et la #3

    comme ca, j'ai mes headers, menus, footers etc... bien separe :
    pour la maintenance c'est plus simple

    et du coup, j'ai mon index.php qui fait en gros 10 lignes (tous mes includes)

    avec mes "pages" a proprement parler qui ne contiennent vraiment que le code destine a cette page.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Idem, j'ai tendance de plus en plus à hacher le code avec tous les includes :

    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
    <?php
    	include ('doctype.php');	//appel du doctype.
    	include ('head.php');		//appel des metas.
    ?>
     
    	<body>
    		<?php
    			include ('header.php');		//inclure la bannière de titre;
    		?>
    		<div id="content">
    			<?php
    				include ('nav.php');		//inclure le menu de navigation
    			?>
    			<div id="corps">
     
    			</div>
     
    		</div>
    		<?php
    			include ('footer.php');		//inclure la bannière de pied de page;
    		?>
    	</body>
    </html>
    Je trouve que c'est beaucoup plus facile à maintenir par la suite.

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 476
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 476
    Points : 4 687
    Points
    4 687
    Par défaut
    bon, bah... puisqu'il faut montrer son code, voici le mien =)

    Code php : 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
    <?php
    session_start();
    require_once("functions.php");
    define("R_PATH_", ROOT_PATH_);//ROOT_PATH_ qui est defini dans mon fichier de config...plus facile pour la maintenantce.
    require_once("lang_switch.php");
    //config pour l'internationalisation du site
    $_SESSION['lang']=get_lang();
    include('lang/'.$_SESSION['lang'].'.php');
     
    include_once("header.php");
    include_once("top.php");
    echo '<div class="clear"></div>';
    include_once("menu.php");
     
    echo '   <div class="span-24" id="left" style="overflow: auto">';
    echo '     <div class="marge-10">
          <div class="main">';
     
    if(!empty($_GET["view"]))
    {
        if(file_exists($_GET["view"].".php"))
            include_once($_GET["view"].".php");
        else
    	include_once("main.php");
    }
    else
        include_once("main.php");
    echo '      </div>
         </div>';
     
        echo '</div>';
    include_once("footer.php");
    ?>

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Merci pour vos réponses et vos exemples

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

Discussions similaires

  1. textbox, saut de ligne impossible, cherche la bonne méthode
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/09/2006, 15h56
  2. Réponses: 2
    Dernier message: 22/08/2006, 08h28
  3. Réponses: 8
    Dernier message: 27/02/2006, 14h28
  4. [EJB2.1 Entity] [CMP] Est-ce la bonne méthode ?
    Par stailer dans le forum Java EE
    Réponses: 8
    Dernier message: 20/06/2004, 19h42

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