Aller au contenu

Exemple

Téléchargez l'archive et décompressez-la

Analysez le code html.
Vous constatez que les pages contiennent des portions de codes indentiques. Nous allons isoler les blocs communs dans des fichiers séparés.

Préparation de l'Environnement

  • modifiez les extensions de fichiers html => *.html en *.php
  • créez un dossier nommé inc
  • créez un fichier nommé footer.inc.php dans le dossier inc
  • ouvrez le fichier card.php
  • identifiez et coupez le code du footer
  • collez ce code dans le fichier footer.inc.php

Le fichier card.php ne comprend donc plus de footer, nous allons maintenant l'inclure via le fichier php.

  • à la place du footer, utilisez l'instruction require_once inc/footer.inc.php ; :

  • ouvrez le fichier contact.php

  • supprimez le code du footer
  • à la place du footer, utilisez l'instruction require_once 'url' ;

⚠
Lorsque vous travaillez avec des fichiers .php, vous devez entourer votre code PHP avec des balises spécifiques <?php ?>. Ces balises indiquent au serveur web d'interpréter le code PHP à l'intérieur.

<?php
    require_once 'inc/footer.inc.php';
?>
  • uploadez votre code sur le serveur
  • testez vos pages

⚠ Si vous obtenez cette erreur, vérifiez votre lien (nom de dossier, nom de fichier, chemin)

 Warning
: require_once(../inc/footer.inc.php): **Failed to open stream**: No such file or directory in
.../php/card.php
on line ...


Fatal error
: Uncaught Error: Failed opening required '../inc/footer.inc.php' (include_path='.:/usr/share/pear:/usr/share/php:/usr/share/pear:/usr/share/php') in .../php/card.php:114 Stack trace: #0 {main} thrown in .../php/card.php
on line...

Extraction du header

  • Utilisez la même procédure pour isoler le header dans un fichier nommé header.inc.php
  • veillez à modifier les liens 😉

Extraction du head

  • Utilisez la même procédure pour isoler le head dans un fichier nommé head.inc.php

⚠ On constate que dans la partie head, le contenu du titre est différent en fonction de chaque page. Pour cela, nous pouvons utiliser des variables.

⚠ L'approfondissement du concept de la variable est prévue au Q2

Déclaration et assignation
$title = "contenu de la variable";

Affichage variable
echo $title;
Dans le fichier card.php, créez une variable et assignez-lui le contenu adéquat.

<?php
    $title = 'Mon site :: Catalogue de produits';
    require_once 'inc/head.inc.php';
?>
Dans le fichier head.inc.php, afficher le contenu de la variable

1
2
3
4
5
6
7
<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="utf-8">
    <title><?php echo $title; ?></title>
    <link href="css/styles.css" rel="stylesheet">
</head>
  • Faites de même pour le fichier contact.php

⚠ Si vous obtenez cette erreur, vérifiez votre lien (nom de dossier, nom de fichier, chemin)

Warning
: require_once(../inc/header.inc.php): **Failed to open stream**: No such file or directory in
.../php/contact.php
on line ...

Fatal error
: Uncaught Error: Failed opening required '../inc/header.inc.php' (include_path='.:/usr/share/pear:/usr/share/php:/usr/share/pear:/usr/share/php') in .../php/contact.php:8 Stack trace: #0 {main} thrown in .../php/contact.php
on line 8

Demo