New file |
0,0 → 1,47 |
<?php |
/** |
* Fichier contenant la fonction de chargement automatique |
* de classes, il doit toujours rester à la racine |
* du framework car il initialise le chemin de |
* l'application en se basant sur son propre emplacement. |
*/ |
|
// on définit le chemin de base de l'application |
if (!defined('CHEMIN_APPLI')) { |
define('CHEMIN_APPLI',dirname(__FILE__).DIRECTORY_SEPARATOR); |
} |
|
// appel des deux fichiers de configuration |
require_once 'configuration/config.inc.php'; |
require_once 'configuration/config_chemin.inc.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 $classe nom de la classe appelée. |
*@return void le fichier contenant la classe . |
*/ |
function __autoload($classe) |
{ |
/* les dossiers dans lequels on cherche sont ceux |
*initialisés dans les fichiers de configuration |
*TODO: faire un tableau qui soit contenu dans le |
*fichier de configuration pour que les utilisateurs |
* puissent rajouter les leur . |
*/ |
$dossiers_classes = array(CHEMIN_BIBLIO.DIRECTORY_SEPARATOR, |
DOSSIER_CONTROLEURS.DIRECTORY_SEPARATOR, |
DOSSIER_MODELES.DIRECTORY_SEPARATOR); |
|
foreach ($dossiers_classes as $chemin) { |
if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) { |
include_once $fichier_a_tester; |
return null; |
} |
} |
} |
?> |