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
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?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);
Spero di essere stato chiaro, in caso rispiego volentieri

Rispondi quotando