Ce face set_include_path
Când scrii require "functii.php" fără director, PHP caută fișierul în directoarele din setarea include_path, în ordine. set_include_path schimbă această listă pentru scriptul curent. Directoarele se separă cu constanta PATH_SEPARATOR (: pe Linux, ; pe Windows).
De obicei adaugi un director la lista existentă, nu o înlocuiești: set_include_path("lib" . PATH_SEPARATOR . get_include_path()). În proiectele moderne, încărcarea claselor se face cu Composer, iar căile se scriu cu __DIR__.
Parametri
| Parametru | Descriere |
|---|---|
$include_path |
Lista nouă de directoare, separate prin PATH_SEPARATOR. |
Ce returnează
Lista veche sau false la eroare.
Exemple
Exemplul 1: Un director de biblioteci adăugat la început
<?php
mkdir("biblioteci");
file_put_contents("biblioteci/tva.php", '<?php function cu_tva(float $p): float { return $p * 1.21; }');
set_include_path("biblioteci" . PATH_SEPARATOR . get_include_path());
require_once "tva.php";
echo cu_tva(100);
Rezultat
121
Greșeli frecvente
- Înlocuiești toată lista cu un singur director și alte biblioteci (de exemplu PEAR) nu mai sunt găsite. Adaugă directorul tău la lista veche.
Comenzi înrudite
get_include_path: Returnează lista de directoare în care include și require caută fișierele.require / include: Încarcă și rulează codul dintr-un alt fișier PHP.ini_set / ini_get: Schimbă o setare din php.ini doar pentru scriptul curent (ini_set) sau îi citește valoarea (ini_get).