spl_autoload_unregister în PHP

Scoate un autoloader din lista celor înregistrate cu spl_autoload_register.

Sintaxă
spl_autoload_unregister(callable $callback): bool

Ce face spl_autoload_unregister

Ca să poți scoate un autoloader, ai nevoie de exact aceeași valoare pe care ai dat-o la înregistrare. De aceea, salvează closure-ul într-o variabilă înainte de spl_autoload_register.

Parametri

Parametru Descriere
$callback Autoloader-ul de scos, exact cel înregistrat.

Ce returnează

true dacă a fost găsit și scos, altfel false.

Exemple

Exemplul 1: Autoloader temporar

<?php
$temporar = function (string $clasa) {
    echo "Caut $clasa\n";
};

spl_autoload_register($temporar);
class_exists("Raport");

var_dump(spl_autoload_unregister($temporar));
var_dump(count(spl_autoload_functions()));
class_exists("Raport");

Rezultat

Caut Raport
bool(true)
int(0)

Greșeli frecvente

  • Scrii din nou aceeași funcție anonimă la spl_autoload_unregister. Este alt obiect closure, deci nu este găsit și funcția returnează false.

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_functions: Returnează lista autoloader-elor înregistrate, în ordinea în care sunt încercate.