Factorisation

Intérêt

Lorsque vous réalisez un site Internet, la plupart de vos pages contiennent une base commune. Les mêmes entêtes, pied de pages, menus, connexion...

Pour simplifier votre programmation, le PHP permet d'inclure dans vos pages des fichiers extérieurs.

Vous réalisez un fichier pied de page et vous pouvez ainsi l'inclure dans toutes vos pages.

Le jour où vous désirez modifier vos pieds de page, vous n'avez qu'un seul fichier à modifier et non pas l'ensemble de votre site.

FondamentalPrincipe

Pour intégrer le contenu d'un fichier dans un autre fichier, on utilise l'instruction require.

Prenons un exemple :

fichier exemple.php

1
<!DOCTYPE html>
2
<html lang="fr">
3
  <head>
4
    <meta charset="UTF-8" />
5
  </head>
6
  <body>
7
    <header>
8
      je suis l'entête
9
    </header>
10
    <section>
11
      <h1>Bienvenue sur le site du TP</h1>
12
    </section>
13
    <footer>
14
      je suis le pied de page
15
    </footer>
16
  </body>
17
</html>

Découpons l'entête et le pied de page dans de deux fichiers :

fichier entete.php :

1
<header>
2
  je suis l'entête
3
</header>

fichier pied.php :

1
<footer>
2
  je suis le pied de page
3
</footer>

Modification du fichier exemple.php

1
<!DOCTYPE html>
2
<html lang="fr">
3
  <head>
4
    <meta charset="UTF-8" />
5
  </head>
6
  <body>
7
    <?php require 'entete.php'; ?>
8
    <section>
9
      <h1>Bienvenue sur le site du TP</h1>
10
    </section>
11
    <?php require 'pied.php'; ?>
12
  </body>
13
</html>

L'instruction require fonctionne comme un copier/coller d'un fichier dans un autre.

Remarque

Dans notre exemple, le contenu des fichiers entete.php et pied.php est très court. Mais, il pourrait être plus important.

L'intérêt réside, dans le fait que les fichiers pourraient servir à plusieurs pages. En cas de modification de l'entête seul le fichier entete.php est à modifier.

Exemple de deuxième fichier exemple2.php

1
<!DOCTYPE html>
2
<html lang="fr">
3
  <head>
4
    <meta charset="UTF-8" />
5
  </head>
6
  <body>
7
    <?php require 'entete.php'; ?>
8
    <section>
9
      <h1>Je suis une deuxième page</h1>
10
    </section>
11
    <?php require 'pied.php'; ?>
12
  </body>
13
</html>

Complémentrequire_once

L'instruction require_once permet d'éviter d'insérer un fichier plusieurs fois.

1
<?php
2
require_once 'entete.php'
3
require_once 'entete.php'
4
?>

Dans cet exemple, l'entête ne serait inséré qu'une seule fois malgré les deux lignes.