Subversion Repositories Applications.framework

Rev

Rev 74 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 74 Rev 78
Line 16... Line 16...
16
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL  
16
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL  
17
 * @version   SVN: <svn_id> 
17
 * @version   SVN: <svn_id> 
18
 * @link      /doc/framework/ 
18
 * @link      /doc/framework/ 
19
 */
19
 */
Line 20... Line 20...
20
 
20
 
21
// on définit le chemin de base de l'application
21
// Redéfinition de la constante DIRECTORY_SEPARATOR
22
if (!defined('CHEMIN_APPLI')) { 
22
if (!defined('DS')) { 
23
    define('CHEMIN_APPLI', dirname(__FILE__).DIRECTORY_SEPARATOR);  
23
	define('DS', DIRECTORY_SEPARATOR);  
Line -... Line 24...
-
 
24
}
-
 
25
 
Line 24... Line 26...
24
}
26
// Appel du fichier de configuration du framework
25
 
27
require_once dirname(__FILE__).DS.'config.inc.php';
26
 
-
 
Line 27... Line 28...
27
// appel des deux fichiers de configuration
28
 
28
require_once 'configuration/config.inc.php';
29
// Chargement automatique du fichier de configuration de l'application
29
require_once 'configuration/config_chemin.inc.php';
30
require_once CHEMIN_APPLI.'config.inc.php';
30
 
31
 
31
/**
32
/**
32
* La fonction __autoload() charge dynamiquement les 
33
* La fonction __autoload() charge dynamiquement les 
33
* classes trouvées dans le code.
34
* classes trouvées dans le code.
34
*
35
*
35
* Cette fonction est appelée par php5 quand il trouve
36
* Cette fonction est appelée par php5 quand il trouve
36
*  une instanciation de classe dans le code.
37
* une instanciation de classe dans le code.
37
*
-
 
38
*@param string $classe nom de la classe appelée.
38
*
39
*
39
*@param string $classe nom de la classe appelée.
40
*@return null le fichier contenant la classe .
-
 
41
*
-
 
42
*/
40
*
43
function __autoload($classe)
41
*@return null le fichier contenant la classe.
44
{ 
42
*/
45
      
43
function __autoload($classe) { 
46
    /*  les dossiers dans lequels on cherche sont ceux 
44
	/*  les dossiers dans lequels on cherche sont ceux 
47
    *initialisés dans les fichiers de configuration
45
	*initialisés dans les fichiers de configuration
48
    *TODO: faire un tableau qui soit contenu dans le 
46
	*TODO: faire un tableau qui soit contenu dans le 
49
    *fichier de configuration pour que les utilisateurs
47
	*fichier de configuration pour que les utilisateurs
50
    * puissent rajouter les leur et agrandir les possibilités.
48
	* puissent rajouter les leur et agrandir les possibilités.
51
    */
49
	*/
52
    $dossiers_classes = array(CHEMIN_BIBLIO.DIRECTORY_SEPARATOR,
50
	$dossiers_classes = array(	DOSSIER_BIBLIO,
53
                                DOSSIER_CONTROLEURS.DIRECTORY_SEPARATOR,
51
								DOSSIER_CONTROLEURS,
54
                                DOSSIER_MODELES.DIRECTORY_SEPARATOR);
52
								DOSSIER_MODELES);
55
    
53
	
56
    foreach ($dossiers_classes as $chemin) {
54
	foreach ($dossiers_classes as $chemin) {
57
        if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
55
		if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
58
            include_once $fichier_a_tester;
56
			include_once $fichier_a_tester;
59
            return null; 
57
			return null; 
60
        }
58
		}