Insertion d'un programme externe
Le programme PHP que vous avez écrit, peut aussi provenir d'un
module externe. J'explique : Au lieu d'écrire votre code PHP
à l'intérieur de votre page HTML, comme dit dans la leçon
Insertion du code PHP dans
la page HTML, vous pouvez placer ce code dans un document externe
à votre page HTML et l'appeler lorsque vous en avez besoin.
Bref. Il y a plein d'avantages à utiliser cette
méthode. De plus, ces petits programmes externes, enregistrés
sur le serveur avec une extension ".php", vous mettent à
l'abri des "pompeurs indésirables" qui voudraient vous
piquer votre code source. Quoi que ... PHP étant un univers "open
source", pourquoi vouloir cacher son code source alors que l'on profite
de celui de toutes celles et de tous ceux qui mettent le leur si gentiment
à disposition de tout le monde pour faire avancer le "scmilblick"...
Il existe deux façons de faire : include() et require(). Nous allons les étudier toutes les deux. Tout d'abord, il faut bien évidemment avoir écrit votre code PHP et l'avoir sauvegardé (enregistré) sur votre disque dur sous un certain nom. Pour les explications qui suivent, on supposera que votre programme à appeler serve à afficher la date de dernière mise à jour d'un document et qu'il s'appelle "AffDateDerMaj.php". C'est un excellent exemple, vu que c'est ce que je fais moi même pour afficher la date de dernière mise à jour sur toutes mes pages. |
La syntaxe exacte est la suivante : include("AffDateDerMaj.php") ; N'oubliez pas les guillemets ni le point virgule. C'est important ! Ce programme affichant une date à l'écran de l'utilisateur qui regarde mon site, il faut que son appel soit positionné exactement à l'endroit où j'ai l'intention d'afficher la date de dernière mise à jour de mon document. Donc, entre les tags HTML <body> et </body>. Ce qui donne comme structure : <html> <?php </body> Dorénavant, quand l'interpréteur PHP lira votre page, il ira chercher le programme "AffDateDerMaj.php" et l'inclura dans votre page pour l'exécuter. Ce qui provoquera l'affichage de la date de dernière mise à jour tout en tête de l'écran de l'utilisateur (puisque c'est la première chose après <body>). Pas plus compliqué que ça.
|
C'est exactement la même chose que pour include(). require("AffDateDerMaj.php") ; N'oubliez pas les guillemets ni le point virgule. C'est important également! Ce programme affichant une date à l'écran de l'utilisateur qui regarde mon site, il faut que son appel soit positionné exactement à l'endroit où j'ai l'intention d'afficher la date de dernière mise à jour de mon document. Donc, entre les tags HTML <body> et </body>. Ce qui donne comme structure, la même que précédemment, soit : <html> <?php </body> Dorénavant, quand l'interpréteur PHP lira votre page, il ira chercher le programme "AffDateDerMaj.php" et l'inclura dans votre page pour l'exécuter. Ce qui provoquera l'affichage de la date de dernière mise à jour tout en tête de l'écran de l'utilisateur (puisque c'est la première chose après <body>). Pas plus compliqué que ça.
|
Bien entendu, un fichier externe appelé par include()
ou require() peut contenir autre chose
que du code PHP. On n'est pas limité non plus à un seul include() ou un seul require(). On peut en mettre autant qu'on veut, n'importe où dans la page, les uns au dessous des autres ou éparpillés dans toute la page. Il faut juste faire attention à l'ordre dans lesquels on les appelle selon ce qu'ils contiennent et ce qu'ils sont censés devoir faire. Par exemple si l'un des fichiers appelé contient des constantes utilisables par le programme d'un autre fichier appelé, il vaut évidemment mieux appeler le fichier des constantes avant celui du programme devant les utilser. Question de bon sens. M'enfin quoi... |
Il existe bien sûr une légère différence entre include() et require(). Légère mais terriblement importante ! En effet : require(), sera exécuté quoi qu'il arrive. Il suffit que l'interpréteur PHP rencontre cette simple chaîne de caractères pour qu'immédiatement, il aille chercher le fichier et le charge dans la page. Même si require() fait partie (c'est une supposition) de la branche non vérifiée d'une instruction conditionnelle. Par exemple : if ($langueUtilisateur
== "Fr")
{ Hé bien dans ce cas là, même si
$langueUtilisateur, n'est pas
égal à "Fr", le fichier "TextesEnFrancais.php"
sera quand même chargé. Et toc ! De mon point de vue, il vaut mieux s'en tenir à include() dans tous les cas de figure, et éviter d'utiliser require(), sauf si on sait très exactement ce que l'on veut faire. Et encore... je déconseille fortement. |
Ce cours est enseigné par Philippe
Médan
dans le cadre de la formation des professionnels de l'INTERNET.
au CREFAC
, 14 rue Scandicci, 93000 Pantin. Tél. : 01 48 46 51 99
au GITA-GRETA , Lycée
Technologique Diderot 61, rue David D'Angers 75019 Paris Tél. : 01
40 40 36 27
au CESI à l'Ecole
des ingénieurs, 116 Av Aristide Briand, BP 57, 92224 Bagneux CEDEX
Tél. : 01 45 36 70 00
© Philippe Médan 1999-2003. Tous droits de reproduction réservés pour tous pays.