Ciao ragazzi, mi stavo cimentando a capire questa cosa.
Ho l'esigenza di caricare delle classi SOLO quando queste vengono chiamate. Mettiamo il caso che io abbia 100 classi e che, in base alle pagine della mia applicazioni ne carichi 5-6 per volta. Per non dovermi stare a sbattere ogni volta e ricordarmi di includere le classi necessarie andandomele a cercare nei vari percorsi ho pensato bene di crearmi questo file in modo da includere solo questo
Codice PHP:
$currentPath dirname(__FILE__);
$brokenPath explode('/'__FILE__);
$fileName end($brokenPath);
spl_autoload_extensions('.php');
function 
carica($path){
    global 
$fileName;
    
$c $path;
    if (
$handle opendir($path)) {
        while (
false !== ($e readdir($handle))) {
            if (
$e != "." && $e != ".." && $e != $fileName) {
                if(
is_dir($c.'/'.$e)){
                    
carica($c.'/'.$e);
                }
                else{
                    
spl_autoload($e);
                }
            }
        }
        
closedir($handle);
    }
}
carica($currentPath); 
In questo modo i file vengono "inclusi" solo quando vado a fare new MiaClasse(), anche quando vado a fare MiaClasse2::metodo() o cmq vengono incluse tutte le 100 classi presenti nei vari percorsi?

Spero di essere stato chiaro, in caso rispiego volentieri