La fonction get_include_path () est utilisée pour obtenir le chemin d'inclusion actuel. Il renvoie une liste de chemins séparée par le côlon, que PHP recherchera des fichiers dans l'ordre de cette liste de chemins. Lorsque vous utilisez des fonctions telles que l'inclusion ou l'exigence , PHP recherchera à son tour des fichiers cibles dans ces chemins.
<?php
// Obtenez le chemin d'inclusion actuel
$current_path = get_include_path();
echo "Le chemin d'inclusion actuel est: " . $current_path;
?>
Par défaut, PHP comprendra le répertoire actuel ( . ) Et le chemin de bibliothèque standard de PHP (généralement le dossier PHP dans le répertoire d'installation PHP).
La fonction set_include_path () est utilisée pour définir ou mettre à jour le chemin d'inclusion de PHP. Cette fonction vous permet d'ajouter, de modifier ou de supprimer certains chemins, de sorte que PHP considère ces chemins lors de la recherche de fichiers.
<?php
// Définir un nouveau chemin d'inclusion
set_include_path('/var/www/html/includes');
// Obtenez le chemin d'inclusion actuel
$current_path = get_include_path();
echo "Le nouveau chemin inclue est: " . $current_path;
?>
Utilisez set_include_path () pour modifier temporairement le chemin inclus, affectant les opérations de recherche de fichiers ultérieures.
L'utilisation rationnelle de get_include_path () et set_include_path () nous permet de gérer des chemins d'inclusion de fichiers de manière flexible dans les projets PHP. Une pratique courante consiste à définir différents chemins dans le programme en fonction des différents besoins.
Supposons que nous ayons un projet PHP qui contient plusieurs sous-modules et fichiers de bibliothèque. Nous pouvons obtenir le chemin d'inclusion actuel via get_include_path () , puis utiliser set_include_path () pour ajouter le nouveau chemin avant ou après le chemin actuel.
<?php
// Obtenez le chemin actuellement inclus
$current_path = get_include_path();
echo "Path actuellement inclus: " . $current_path . "<br>";
// Après avoir ajouté un nouveau chemin vers le chemin actuel
$new_path = $current_path . PATH_SEPARATOR . '/var/www/html/libraries';
set_include_path($new_path);
// Vérifiez le nouveau chemin d'inclusion
echo "Mis à jour inclure le chemin: " . get_include_path();
?>
Dans cet exemple, nous obtenons d'abord le chemin actuel via get_include_path () , puis utilisons Set_include_path () pour ajouter le nouveau chemin vers le chemin d'origine. PATH_SEPARATOR est une constante utilisée pour séparer correctement les chemins dans différents systèmes d'exploitation, Linux et MacOS utilisent des Colons :, tandis que Windows utilise des demi-colons ; .
Dans les projets à grande échelle, il est particulièrement important de bien gérer les chemins d'inclusion. Voici plusieurs scénarios d'application courants:
Lorsque nous utilisons le mécanisme de mise à jour de PHP (comme la norme PSR-4), nous devrons peut-être ajouter plusieurs répertoires au chemin d'inclusion. En définissant rationnellement le chemin d'inclusion, vous pouvez vous assurer que PHP peut trouver tous les fichiers de classe requis.
<?php
// Configurer le répertoire de chargement automatique
set_include_path('/var/www/html/classes' . PATH_SEPARATOR . get_include_path());
// Chargez automatiquement la classe
spl_autoload_register(function ($class) {
include $class . '.php';
});
// Tester le chargement automatique
$obj = new SomeClass();
?>
Si vous développez un système avec plusieurs modules, vous pouvez ajouter le chemin d'accès de chaque module au chemin d'inclusion afin que les fichiers entre différents modules puissent être indépendants les uns des autres et se trouvent correctement.
<?php
// Définir des chemins sur plusieurs modules
set_include_path('/var/www/html/module1' . PATH_SEPARATOR . '/var/www/html/module2' . PATH_SEPARATOR . get_include_path());
// Introduire des modules1Fichiers
include 'module1/file.php';
// Introduire des modules2Fichiers
include 'module2/file.php';
?>