Utiliser include - require en PHP permet d'inclure dans une page une autre page ce qui peut s'avérer très pratique notamment sur ce qui est répétitif.
Include - require
On ne va pas par exemple faire un copier coller d'un menu sur chacune de nos pages, ce serait une perte de temps surtout si des modifications ont lieu.
On va donc créer dans une page PHP notre menu et on fera appel à ce fichier dans nos pages.
Pour l'exemple du menu, nous allons dans un premier temps créer une page PHP nommé menu.php où nous allons créer uniquement notre menu.
Nous placerons ce fichier dans un dossier inc (ce qui nous permettra de comprendre que ce sera dans ce dossier que se trouveront les pages que l'on va inclure).
Et enfin sur notre page index.php, nous faisons appel au fichier menu.php pour l'inclure.
inc/menu.php :
<ul id="nav">
<li><a href="#">Accueil</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">À propos</a></li>
<li><a href="#">Contact</a></li>
</ul>
index.php
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Tuto PHP - include</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<linkrel="stylesheet"href="tuto.css"type="text/css"media="all">
</head>
<body>
<?php include('inc/menu.php'); ?>
<h1>Include - Require </h1>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <br>
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.<br>
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.<br>
</body>
</html>
include() et require() permettent tous deux d'inclure un fichier.
Il y a cependant une différence importante au niveau de la gestion des erreurs.
Avec include(), si le fichier appelé n'est pas disponible, il n'y aura pas d'erreur bloquante.
PHP renverra un avertissement mais le reste du script s'exécutera.
Avec require(), si le fichier appelé n'est pas disponible, il y aura un avertissement et le reste du script ne s'exécutera pas.
include_once et require_once vont empêcher qu'un fichier ne soit appelé deux fois dans la même page.