Inclure un fichier PHP
L'import d'une bibliothèque passe par les fonctions include() ou require() qui peuvent s'écrire de manières suivantes:include 'class.db.php';
include_once './const.php';
require dirname(__FILE__).'/log.php';
require_once $_SERVER['DOCUMENT_ROOT'].'./formulaire.php';
Suivant l'architecture de son projet PHP, les scripts sont tous inclus sur l'index ou alors les fichiers sont insérés au fur et à mesure de leur utilisation. Par exemple dans un modele MVC dans lequel chaque partie (controller, view, model) utilise des scripts propres, on peut se retrouver avec des dizaine de class ajoutées.
Lister les ressources externes
Face à un bug, il est intéressant de connaitre tous les fichiers PHP liés dans le script pour déterminer l'origine de l'erreur. D'autre part, la fonction get_included_files() permet de faire le tri dans les fichiers inclus.<?php
$all_included_files = get_included_files();
foreach ($all_included_files as $filename) {
echo '<br>Fichier: '.basename($filename).'<br>Chemin: '.$filename;
}
?>
Exemple de résultat:
Fichier: class.db.php
Chemin: /sites/mondomain.com/lib/class.db.php
Fichier: const.php
Chemin: /sites/mondomain.com/admin/const.php
Fichier: log.php
Chemin: /sites/mondomain.com/log.php
Fichier: formulaire.php
Chemin: /sites/mondomain.com/HTML/formulaire.php
L'erreur la plus fréquente est de se retrouver avec 2 class ayant le même nom. Souvent le changement de version ou la modification de scripts amène à renommer un fichier sans pour autant renommer la class. Ainsi la fonction get_included_files() est pratique pour connaitre les fichiers inclus dans le script PHP pour détecter l'origine de l'erreur.