Ce face spl_autoload
Dacă apelezi spl_autoload_register() fără parametri, PHP folosește spl_autoload ca autoloader. Pentru clasa App\Produs, caută fișierul app/produs.inc sau app/produs.php în directoarele din include_path (care conține de obicei și directorul curent).
Extensiile căutate se schimbă cu spl_autoload_extensions. În practică, pentru că numele fișierelor trebuie să fie cu litere mici, majoritatea proiectelor folosesc propriul autoloader sau Composer.
Parametri
| Parametru | Descriere |
|---|---|
$class |
Numele clasei de încărcat. |
$file_extensions |
Opțional. Extensiile încercate, separate prin virgulă, de exemplu ".php". |
Ce returnează
Nimic.
Exemple
Exemplul 1: Autoloader-ul implicit
<?php
file_put_contents("produs.php", '<?php class Produs { public string $nume = "Laptop"; }');
spl_autoload_register();
print_r(spl_autoload_functions());
$p = new Produs();
echo $p->nume;
Rezultat
Array
(
[0] => spl_autoload
)
Laptop
Greșeli frecvente
- Numești fișierul
Produs.phppe un server Linux.spl_autoloadcautăprodus.php, cu litere mici, iar pe Linux numele de fișiere țin cont de majuscule.
Comenzi înrudite
spl_autoload_register: Înregistrează o funcție care încarcă automat fișierul unei clase prima dată când clasa este folosită.spl_autoload_extensions: Setează sau citește extensiile de fișier încercate de autoloader-ul implicit spl_autoload.spl_autoload_call: Încearcă pe rând toate autoloader-ele înregistrate pentru a încărca o clasă.