New file |
0,0 → 1,41 |
<?php |
/** |
* La fonction __autoload() charge dynamiquement les classes trouvées dans le code. |
* |
* Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code. |
* |
*@param string le nom de la classe appelée. |
*@return void le fichier contenant la classe doit être inclu par la fonction. |
*/ |
function __autoload($classe) |
{ |
// Gestion des classes de la bibliothèque et du module "ef_commun" |
foreach ($GLOBALS['_SCRIPT_']['chemins_classes'] as $chemin) { |
if (file_exists($fichier_a_tester = $chemin.$classe.'.class.php')) { |
//echo $fichier."<br>"; |
require_once $fichier_a_tester; |
return null; |
} |
} |
|
// Gestion des fichiers présents dans l'include_path (PEAR) |
$fichier = $classe.'.php'; |
if (substr_count($classe, '_') > 0) { |
// Gestion des classes PEAR |
$tab_chemin = explode('_', $classe); |
$fichier = ''; |
$nbre_niveau = count($tab_chemin); |
for ($i = 0; $i < $nbre_niveau; $i++) { |
if (($nbre_niveau-1) == $i) { |
$fichier .= $tab_chemin[$i].'.php'; |
} else { |
$fichier .= $tab_chemin[$i].DIRECTORY_SEPARATOR; |
} |
} |
} |
|
if (include_once $fichier) { |
return null; |
} |
} |
?> |