Accueil > php > utiliser-les-includes-php

{ Utilisation intelligente des includes }

Introduction

Les includes, vous avez surement déjà entendu parlé, le nom parle déjà de lui même. Include signifie "inclure" en anglais. Dans cet article je vais vous présenter un des aspects pratique des includes et qui va directement concerné l'arborescence de votre site ainsi que la conception de votre site.

Le fait de pouvoir construire les pages d'un site uniquement ou presque en incluant des éléments externes (qu'on appelera dans la suite de cet article "modules") apporte une très grande souplesse dans la conception d'un site. En effet on va dès lors pouvoir bénéficier du module sur l'ensemble du site sans avoir à copier-coller sans cesse le contenu du header par exemple dans chacune des pages du site ou pire encore, devoir modifier le code dans toutes les pages du site. En utilisant les includes vous avez la garantie que vous ne coder qu'une seule fois ce module et surtout seul celui-ci sera à modifier si il y a des changements à faire. Il restera compris dans un seul fichier quoiqu'il arrive, il est important de comprendre qu'il sera juste appelé (et exéctué !) par les différentes pages sur le site.

Conformément à la définition officielle : " L'instruction de langage include() inclut et exécute le fichier spécifié en argument. "

Pour passer directement au concret on va citer sans plus attendre les avantages (et inconvénients) de cette fonction.

Avantages

  • Facilité d'entretien : si une modification doit être faite, elle ne sera faite qu'à un seul et même endroit
  • Externalisation : incluez des scripts php ou des pages html que vous hébergez sur d'autres serveurs
  • Souplesse : facilite grandement la gestion des pages
  • Modularité : déplacer un module à un autre endroit devient très simple.

Syntaxe

Lien relatif
// Inclure un fichier d'après un lien relatif
include '../fichier_a_la_racine_du_site.php';
include 'index.php';
Lien absolu

Inclure un fichier suivant un lien absolu.
Attention, il faut que les lignes suivantes soient activées dans le fichier php.ini

// allow_url_include = 1
// allow_url_fopen = 1
include 'http://www.astuces-webmaster.ch/monfichier.html';

Exemple et conclusion

<!-- Premier include pour le Doctype qui reste en principe le même sur toutes les pages -->
<?php include("phpincludes/doctype.php")?>

<head>
<!-- Ici on inclut l'entête de notre page voir le contenu de head.php -->
<?php include("phpincludes/head.php")?> 
</head>

<body>
<div id="containerall">
<div id="container">
<div id="banner">
<div id="navigation">
<!-- On insére le menu -->
<?php include("phpincludes/menu.php") ?>
</div> 
</div>

<!-- On peut ajouter des animations flash -->
<?php include("phpincludes/flash.php") ?>

<div id="left">
<div class="menufixe">
<!-- Dans cette exemple de page on trouve un deuxième menu -->
<?php include("phpincludes/navgauche.php");?>
</div> 
</div>
<div id="footer">
<!-- Le footer est souvent externalisé car change très peu d'une page à l'autre -->
<?php include("phpincludes/footer.php"); ?>
</div>
</div>
<!-- Si vous utilisez un module de statistiques pour vos pages ne vous fatiguez pas non plus -->
<?php include("phpincludes/piwik.php")?> 
</div>
</body>
</html>

Vous aurez remarqué que dans cette exemple tous les fichiers inclus sont placés dans un répertoire phpincludes se qui est tout à fait d'usage dans une bonne arborescence de site.

Voilà pour le premier jet de cet article qui évoluera probablement dans le courant du mois. D'autres fonctions très proches de notre include tel que include_once, require ou encore require_once seront détaillées afin de parfaitement cerné lesquels sont préférables dans tel ou telle situation.

A bon entendeur.