set_include_path în PHP

Setează lista de directoare în care include și require caută fișierele date cu cale relativă.

Sintaxă
set_include_path(string $include_path): string|false

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).