ok... provo a descriverti come è strutturato il mio applicativo... ma sarà dura
Ho una serie di cartelle nella root:
- admin (file backoffice)
- sito
- config (file per la connessione al DB, include e simili)
- librerie (contiene sottocartelle con file da me create, funzioni e classi)
-- js
-- php
- librerie_ext (contiene sottocartelle con file creati da terze parti, classi)
-- js
-- jquery
-- PHP (qua dentro andrebbe il pacchetto PHPExcel)
Diciamo che più o meno è così
In config c'è un file include dove prima elencavo tutte le classi da richiamare sempre, che usavo sempre uguale in tutte le pagine, ma causa notevole pesantezza ho dovuto optare per il lazy loading, come dice qui
http://php.html.it/articoli/leggi/32...-oop-di-php/2/
Quindi ho creato una funzione
Codice PHP:
function __autoload($class_name) {
$interno = creaPath("/librerie/php/" . strtolower($class_name) . ".php",_OS,_PERCORSO_ROOT);
$ext = creaPath("/librerie_ext/php/" . strtolower($class_name) . ".php",_OS,_PERCORSO_ROOT);
if( file_exists($interno) ){
//echo($interno."
");
include $interno;
}elseif( file_exists($ext) ){
//echo($ext."
");
include $ext;
}
//include creaPath($item,_OS,_PERCORSO_ROOT);
}
come descritto nell'articolo che mi richiama lle classi quando servono. La funzione creaPath serve solo a creare il giusto path partendo dalla root così non mi perdo nei puntini e simili.
Se riesci a trovare una soluzione mi servirebbe anche per altri sistemi.
Credo che se l'autore mettesse tutte le classi e gli elementi utili in una unica cartella sarebbe più facile gestire la cosa perchè al massimo uno crea una regola nell'autoload per la cartella specifica, così invece ci sono troppe sottocartelle.
Ciao
Rino