Para aqueles que como eu gostam de programar em PHP e mais do que isso gostam de ser programadores eficientes, ai vai uma dica.
Se vc ainda faz todos os includes manualmente no seu script, isso vai agilizar teu trabalho.
Essa classe resolve o problema dos milhoes de includes em um aplicativo, tudo q vc tem d fazer é incluí-la no seu programa e pronto, simples assim, vc não vai precisar incluir mais nada, todas as suas outras classes serão automaticamente carregadas.
Espero que seja util pra vcs como é pra mim...
Ai fica a dica amigos... até breve
Se vc ainda faz todos os includes manualmente no seu script, isso vai agilizar teu trabalho.
Essa classe resolve o problema dos milhoes de includes em um aplicativo, tudo q vc tem d fazer é incluí-la no seu programa e pronto, simples assim, vc não vai precisar incluir mais nada, todas as suas outras classes serão automaticamente carregadas.
Espero que seja util pra vcs como é pra mim...
Código:
<?php class Loader { public function __construct() { $dir = self::scanDirectories( dirname( __FILE__ ) ); for ( $i=0; $i < count( $dir ); $i++ ) { $str .= PATH_SEPARATOR . $dir[$i]; } set_include_path( $str ); spl_autoload_register( array( "Loader", 'load' ) ); } public static function load( $class ) { // Aki vc especifica a extenção das suas classes... no meu caso é ".class.php" spl_autoload_extensions( '.class.php' ); spl_autoload( $class ); } public static function scanDirectories( $rootDir, $allData = array() ) { $invisibleFileNames = array( ".", "..", ".htaccess", ".htpasswd" ); $dirContent = scandir( $rootDir ); foreach ( $dirContent as $key => $content ) { $path = $rootDir . '/' . $content; if ( !in_array( $content, $invisibleFileNames ) ) { if ( is_dir( $path ) && is_readable( $path ) ){ $allData[] = $path; $allData = self::scanDirectories( $path, $allData ); } } } return $allData; } } new Loader(); ?>
Comment