private function loadAutoload() { if ((int) self::getConfigVar('cache.autoload.enabled') == 1) { $sCacheFilename = self::getConfigVar('path.cache') . 'autoload.php'; if (file_exists($sCacheFilename)) { include $sCacheFilename; } else { //on creer un tableau associatif de tous les path des classes $tDir = array('lib' => self::getConfigVar('path.lib'), 'abstract' => self::getConfigVar('path.lib') . 'abstract/', 'sgbd' => self::getConfigVar('path.lib') . 'sgbd/', 'sgbd_pdo' => self::getConfigVar('path.lib') . 'sgbd/pdo/', 'sgbd_syntax' => self::getConfigVar('path.lib') . 'sgbd/syntax/', 'plugin' => self::getConfigVar('path.plugin'), 'model' => self::getConfigVar('path.model'), 'module' => self::getConfigVar('path.module')); $tAutoload = array(); foreach ($tDir as $sType => $sDir) { if (in_array($sType, array('lib', 'abstract', 'sgbd', 'sgbd_pdo', 'sgbd_syntax', 'plugin', 'model'))) { $oDir = new _dir($sDir); $tFile = $oDir->getListFile(); foreach ($tFile as $oFile) { $sFilename = $oFile->getName(); $tFilename = preg_split('/_/', $sFilename); if ($sType == 'lib') { $tAutoload['_' . substr($tFilename[1], 0, -4)] = $sDir . $sFilename; } else { $tAutoload[substr($sFilename, 0, -4)] = $sDir . $sFilename; } } } else { if ($sType == 'module') { $oDir = new _dir($sDir); $tModuleDir = $oDir->getListDir(); foreach ($tModuleDir as $oModuleDir) { $sModuleDirname = $oModuleDir->getName(); $tAutoload['module_' . $sModuleDirname] = $sDir . $sModuleDirname . '/main.php'; } } } } $sCodeCache = '<?php _root::$tAutoload=' . var_export($tAutoload, true) . ';'; file_put_contents($sCacheFilename, $sCodeCache); self::$tAutoload = $tAutoload; } } }