Subversion Repositories Applications.framework

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 aurelien 1
<?php
2
/**
3
 * Fichier contenant la fonction de chargement automatique
4
 * de classes, il doit toujours rester à la racine
5
 * du framework car il initialise le chemin de
6
 * l'application en se basant sur son propre emplacement.
7
 */
8
 
9
// on définit le chemin de base de l'application
10
if (!defined('CHEMIN_APPLI')) {
11
    define('CHEMIN_APPLI',dirname(__FILE__).DIRECTORY_SEPARATOR);
12
}
13
 
14
// appel des deux fichiers de configuration
15
require_once 'configuration/config.inc.php';
16
require_once 'configuration/config_chemin.inc.php';
17
 
18
/**
19
* La fonction __autoload() charge dynamiquement les
20
* classes trouvées dans le code.
21
*
22
* Cette fonction est appelée par php5 quand il trouve
23
*  une instanciation de classe dans le code.
24
*
25
*@param string $classe nom de la classe appelée.
26
*@return void le fichier contenant la classe .
27
*/
28
function __autoload($classe)
29
{
30
    /* les dossiers dans lequels on cherche sont ceux
31
    *initialisés dans les fichiers de configuration
32
    *TODO: faire un tableau qui soit contenu dans le
33
    *fichier de configuration pour que les utilisateurs
34
    * puissent rajouter les leur .
35
    */
36
    $dossiers_classes = array(CHEMIN_BIBLIO.DIRECTORY_SEPARATOR,
37
                                DOSSIER_CONTROLEURS.DIRECTORY_SEPARATOR,
38
                                DOSSIER_MODELES.DIRECTORY_SEPARATOR);
39
 
40
    foreach ($dossiers_classes as $chemin) {
41
        if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
42
            include_once $fichier_a_tester;
43
            return null;
44
        }
45
    }
46
}
47
?>