Include et require_once : liens relatifs ou absolus inclure dans un fichier un autre fichier
Include et require_once : liens relatifs ou absolus inclure dans un fichier un autre fichier
Les bases
/ -> Prend vos données à partir de la racine du domaine
. / ->Prend vos données à partir de la racine du dossier courant
.. / -> Prend vos données à partir du dossier parent
D'autre part, cela peut vous paraitre évident, mais je préfère vous le préciser afin de vous épargner des heures de galère ! L'extension du fichier doit se terminer par PHP et non HTML ;-)
Utiliser un include() et faire en sorte que le lien soit valable aussi bien d'un pc à l'autre ou d'un nom de domaine à un autre, solution :
Depuis un include mettre :
include $_SERVER[ ' DOCUMENT_ROOT ' ] . ' /include/css/style.css ';
Attention, cette méthode n'est pas vraie pour tous les liens ! En effet, si vous voulez avoir des liens correctement figés afin de vous permettre de changer de PC ou de serveur sans vous recoltiner à changer tous vos liens, il vous faudra maitriser les notions que je vais vous transmettre dans la vidéo ci-dessous. J'ai préféré vous expliquer cela à travers une vidéo, car par écrit ce n'est pas évident !
Vidéo vous expliquant les notions fondamentales à maitriser :
Différences entre include, include_once, require et require_once
Include:
Si le fichier n'est pas trouvé, un warning s'affiche mais PHP continue à lire vos lignes de code, ce qui n'est pas le cas avec un require.
Le lien passé en paramètre peut être une adresse absolue ou une adresse relative.
Permet d'inclure le fichier plusieurs fois dans une même page : exemple, votre menu de navigation, vous pourrez l'inclure autant de fois que vous le voudrez sur votre page, à voir l'intérêt ensuite...Mais cet exemple parle bien généralement..
Include_once :
Idem que include, mais :
Le fichier ne peut être inclus qu'une seule fois. Vous ne pourrez plus mettre autant de barre de navigation que vous souhaitez dans le même fichier !
Cela est très pratique quand on utilise les fonctions, pour éviter les conflits si on les onclut plusieurs fois...
Require : A favoriser !
Idem que include, mais :
Si une erreur est généré PHP ne continue pas la lecture de vos lignes de code, une erreur de type E_COMPILE_ERROR s'affichera.
Très pratique, car si votre menu ou footer ne s'affiche pas, le site n'est plus fonctionnel, donc autant bloquer le reste du code !
Require_once :
Idem que require, mais :
Le fichier ne peut être inclus qu'une seule fois.
Bloque la lecture des lignes de code PHP dès qu'une erreur est détectée.
Voilà, vous ne faites plus partis de ceux qui ne maitrise pas ces 4 façons d'inclure un fichier. A vous d'utiliser celui qui vous semble le mieux en fonction du niveau de sécurité que vous désirez mettre sur votre site. Personnellement, je trouve que require est un excellent compromis !
Notez cet article, on va dire que ce sera ma récompense ;-) !