La pratique

Comme je vous le disais, je vous propose de créer un nouveau fichier PHP et d'y insérer uniquement le code HTML correspondant à votre menu, comme ceci :

Code : PHP 

 1

 2

 3

 4

 5

 6

 7

 8

 9

10

<div id="menu">        

   <div class="element_menu">

          <h3>Titre menu</h3>

          <ul>

                  <li><a href="page1.html">Lien</a></li>

                  <li><a href="page2.html">Lien</a></li>

                  <li><a href="page3.html">Lien</a></li>

          </ul>

   </div>    

</div>



Faites de même pour une page entete.php et une page pied_de_page.php en fonction des besoins de votre site.

Mais… la page menus.php ne contiendra pas le moindre code PHP… c'est normal ?



Une page dont l'extension est .php peut très bien ne contenir aucune balise PHP (même si c'est plutôt rare). Dans ce cas, cela redevient une page HTML classique qui n'est pas modifiée avant l'envoi.

En théorie, vous pourriez très bien enregistrer votre page avec l'extension .html : menus.html. Néanmoins, afin d'éviter de mélanger des pages .php et .html sur votre site, je vous recommande de travailler uniquement avec l'extension .php à partir de maintenant.

Maintenant que vos « morceaux de pages » sont prêts, reprenez les pages de votre site, par exemple la page d'accueil nommée index.php. Remplacez le menu par le code PHP suivant :

Code : PHP

1

<?php include("menus.php"); ?>



Cette instruction ordonne à l'ordinateur : « Insère ici le contenu de la page menus.php ».

Vous noterez que, contrairement à echo, j'ai ici placé des parenthèses autour des guillemets. Il faut dire que echo était un peu une exception. Dorénavant vous verrez souvent des parenthèses. include est en réalité une structure de langage particulière, comme echo, et peut donc s'utiliser avec ou sans parenthèses. 
Pour le moment nous débutons, donc nous nous contenterons de faire comme cela sans trop rentrer dans les détails pour ne pas nous brûler les ailes. ;-)



Si nous reprenons le code que nous avons vu tout à l'heure et que nous remplaçons chaque code répétitif par un include (lignes 10, 12 et 23), cela donne le code source suivant :

Code : PHP 

 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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

   <head>

       <title>Mon super site</title>

       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

   </head>

     

       <body>

     

        <?php include("entete.php"); ?>

     

        <?php include("menus.php"); ?>

      

        <div id="corps">

           <h1>Mon super site</h1>

            

                       <p>

               Bienvenue sur mon super site !<br />

               Vous allez adorer ici, c'est un site génial qui va parler de.. Je cherche encore. :-D

                       </p>

        </div>

      

        <?php include("pied_de_page.php"); ?>

        

   </body>

</html>


Ce code suppose que votre page index.php et celles qui sont incluses (comme menus.php) sont dans le même dossier. Si le menu était dans un sous-dossier appelé includes, il aurait fallu écrire :
Code : PHP

1

<?php include("includes/menus.php"); ?>


C'est le même principe que pour les liens relatifs, que vous connaissez déjà dans le langage HTML.



Nous avons vu que la page PHP était générée, donc la question que vous devez vous poser est : que reçoit le visiteur ? Eh bien, il reçoit exactement le même code qu'avant ! 

Le schéma suivante vous aidera à comprendre comment les pages sont incluses.



La page finale que reçoit le visiteur est identique à celle que je vous ai montrée au début du chapitre… mais vous, vous avez énormément gagné en flexibilité puisque votre code n'est plus recopié 150 fois inutilement. 

Le nombre d'include par page n'est pas limité, par conséquent vous pouvez découper votre code en autant de sous-parties que vous le souhaitez !

Créé avec HelpNDoc Personal Edition: Élevez votre documentation vers de nouveaux sommets avec le référencement intégré de HelpNDoc