Include et Require ou la méthode des pseudos-frames.
Introduction
Les frames sont une invention des normes HTML crées pour alléger
les pages d'un site web, les éléments identiques sur chaque
pages étant chargés une seule fois. Maintenant, la vitesse
des modems ayant augmenté et l'apparition du CSS permettant de
stocker la présentation d'une page à l'extérieur
(feuille de style externe), on peut se passer de cette technique disgracieuse
qui pose des problèmes de maintenance, de réfèrencement
Mais il existe toujours des éléments communs à chaque
page, comme un menu, des copyrights ou tous simplement les entêtes
de pages. Recopier le code sur chacune des pages fait de la mise à
jour un vrai cauchemard.
C'est pour cela qu'il existe le PHP et ses magnifiques fonctions de base,
include et require.
Différence entre include et require.
La différence entre include et require est maigre, et sur les
nouvelle versions de PHP, elle est encore plus minime. La fonction include
est executée lors de l'exécution du script, alors que require
est utilisée lors du la vérification syntaxique du script
( pré-exécution ).
Exemple
<?php
if (1 == 2){
include('page.php') ; /* L'inclusion ne se fera pas, la condition if n'est
pas vérifiée. */
require('page.php'); /* L'inclusion est faite, avant l'exécution
du programme, sans tenir compte du code du programme et du if */
}
?>
En pratique, on utilisera include() pour des pages de présentations,
du texte et require() pour inclure du code PHP.
La méthode que je présente n'est pas celle utilisée
couramment sur la plus part des sites web dynamique, mais elle a des avantages
mais pas ses inconvenant.
La méthode consiste a stocker dans des fichiers séparés
le code qui ne change jamais: un menu, une barre de titre ...
Pas exemple, voici ce que l'on peut trouver dans nos deux fichiers :
<html>
<head>
<title>Ici le titre</title>
< !---quelques entêtes //-->
</head>
<body>
le code de votre page
</body>
</html>
</body>
</html>
Les fichiers header et footer peut contenir du code PHP, et donc présenter
des informations dynamiques, tout comme le reste du site (le titre peut
changer pour chaque page)
Cette technique est très simple et a d'énormes avantages
sur la technique classique (c'est a dire de recevoir une variable $page
depuis l'adresse d'inclure la page demandée avec un switch).
Ma méthode
Technique classique
Pas de variable
Une variables à passer à chaque page,
à évaluer ...(je chipote).
Sûreté absolue, on ne se fie pas aux variables
envoyées par le visiteur
Problèmes de sécurité éventuels
en fonction du code.
Simple a maintenir, vous voulez une nouvelle page, vous
la créez.
Un code dur a maintenir, a chaque nouvelle page, il
faut modifier le traitement de la variable.
Seulement 2 fonctions pour afficher sa page.
Temps d'exécution plus lent ( je chipote encore,
mais c'est toujours ça )
Référencement sans problème
Certains moteurs de recherche supportent mal les adresses
avec des url GET
Meilleur lisibilité du nom de page, livre.php
index.php?page=toto&zone=tutu&etape=292 n'est
pas très compréhensible pour le visiteur