Ce face spl_autoload_call
spl_autoload_call face manual ce face PHP automat când folosești o clasă necunoscută: apelează fiecare autoloader, în ordine, până când clasa apare. Nu dă eroare dacă niciun autoloader nu o găsește.
Rar ai nevoie de ea direct; class_exists($clasa) face același lucru și îți spune și rezultatul.
Parametri
| Parametru | Descriere |
|---|---|
$class |
Numele clasei căutate. |
Ce returnează
Nimic.
Exemple
Exemplul 1: Încărcare manuală
<?php
spl_autoload_register(function (string $clasa) {
echo "Autoloader 1: nu știu de $clasa\n";
});
spl_autoload_register(function (string $clasa) {
echo "Autoloader 2: definesc $clasa\n";
eval("class $clasa {}");
});
spl_autoload_call("Raport");
var_dump(class_exists("Raport", false));
Rezultat
Autoloader 1: nu știu de Raport
Autoloader 2: definesc Raport
bool(true)
Greșeli frecvente
- Te aștepți ca funcția să returneze dacă a reușit. Returnează mereu nimic; verifică după aceea cu
class_exists($clasa, false).
Comenzi înrudite
spl_autoload_register: Înregistrează o funcție care încarcă automat fișierul unei clase prima dată când clasa este folosită.class_exists / interface_exists / enum_exists: Verifică dacă o clasă (class_exists), o interfață sau un enum a fost definit.spl_autoload_functions: Returnează lista autoloader-elor înregistrate, în ordinea în care sunt încercate.