Ciao,

nel mio piccolo ho "partortito" la seguente funzione che si occupa egregiamente di caricare le classi
che mi servono tenendo presente che tengo separate quelle comuni da quelle relative alla parte "client" e parte "admin".

Che ne pensate ? Sono aperto a qualsiasi consiglio. E' migliorabile ? E se si come ?

Grazie
Codice PHP:
<?php

// Impedisco l'accesso diretto alla pagina
defined 'eblock' ) or die ( 'Access Restricted' );

// Annullo qualsiasi precedente autoload
spl_autoload_register nullfalse );


// Precaricamento estensioni
spl_autoload_extensions '.php' );

// Funzione autoload
function classLoader $class )
{

/** 
  *
  * Array contenente le varie locazioni per le classi
  * che sono classi comuni a tutto il progetto e classi
  * o sottoclassi specifiche per il pannello di controllo
  * e per il sito. Le costanti che ho usato sono tuttue
  * definite nel file index.php che a sua volta logiacamente
  * ha un include a questo file.
  *
  * define ( 'eBlock', 1, true );
  * define ( 'ds', DIRECTORY_SEPARATOR, true );
  * define ( 'eAdminPath', dirname ( __FILE__ ), true );
  * $path = explode ( ds, eAdminPath );
  * array_pop ( $path );
  * define ( 'eSitePath', implode ( ds, $path ), true );
  *
  */
$classPath = array ( eAdminPath ds 'class'eSitePath ds 'common' ds eSitePath ds 'class' );

        
// Estraggo i path delle directory che contengono le classi.
        
foreach ( $classPath as $key => $value )
        {

                
// Verifico se esiste il file
                
if ( file_exists $value '/' strtolower $class ) . '/' strtolower $class ) . '.php' ) )
                {

                        
// Se c'è lo includo 
                        
include $value '/' strtolower $class ) . '/' strtolower $class ) . '.php';

                }
                
        }
}
// E registro l'autoload
spl_autoload_register 'classLoader' );

?>