PHP : fonction Include et templates

Difference include et require :

  • include va chercher l’element et le programme continue de fonctionner même si la fonction ne marche pas.(include émettra un avertissement E_WARNING permettant au script de continuer.)
  • require le requêt: si il ne marche pas require arrêtera l’exécution à la ligne dans laquelle l’erreur est produite.(une erreur fatale de type E_COMPILE_ERROR sera générée)

Exemple:

index.php

<?php
include('_head.php');
include('_header.php');
include('_main-home.php');
include('_footer.php');
?>

_head.php

<!DOCTYPE html>
 
<html lang="fr">
<head>

   <meta charset="utf-8">
 
    <title>Titre de la page</title>
 
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <meta name="description" content="ici la description qui apparait sur les moteurs de recherche" />
</head>

_header.php

<body>
<header>
<a href="index.php">Accueil  </a>
<a href="us.php">Qui sommes-nous ?  </a>
<a href="contact.php">Contact  </a>


</header>
<main>

_main-home.php

<p>Contenu de la page d'accueil</p>

-footer.php

</main>
<footer>
<p>Je suis le FOOTER !</p>
</footer>
</body>
</html>

Le résultat du code de la page sera ici:

<!DOCTYPE html>
 
<html lang="fr">
<head>

   <meta charset="utf-8">
 
    <title>Titre de la page</title>
 
    <meta name="viewport" content="width=device-width, initial-scale=1">
 
    <meta name="description" content="ici la description qui apparait sur les moteurs de recherche" />
</head>
<body>
<header>
<a href="index.php">Accueil  </a>
<a href="us.php">Qui sommes-nous ?  </a>
<a href="contact.php">Contact  </a>
</header>
<main>
<p>Contenu de la page d'accueil</p>
</main>
<footer>
<p>Je suis le FOOTER !</p>
</footer>
</body>
</html>

A noter:

  • Faire attention aux ouverture/fermeture des balises <main> <body> <html>
  • Les retour à la ligne se traduiront dans le php par un retour à la ligne dans le code source final.
    Donc pour éviter des inconforts de lecture comme </head><body> , penser à mettre un retour à la ligne après le </head>