Subversion Repositories Applications.framework

Rev

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

Rev 89 Rev 92
Line 20... Line 20...
20
 
20
 
21
// Redéfinition de la constante DIRECTORY_SEPARATOR
21
// Redéfinition de la constante DIRECTORY_SEPARATOR
22
if (!defined('DS')) { 
22
if (!defined('DS')) { 
23
	define('DS', DIRECTORY_SEPARATOR);  
23
	define('DS', DIRECTORY_SEPARATOR);  
-
 
24
}
-
 
25
// Redéfinition de la constante PATH_SEPARATOR
-
 
26
if (!defined('PS')) { 
-
 
27
	define('PS', PATH_SEPARATOR);  
Line 24... Line -...
24
}
-
 
25
 
28
}
26
/**
-
 
27
* La fonction __autoload() charge dynamiquement les 
-
 
28
* classes trouvées dans le code.
-
 
29
*
-
 
30
* Cette fonction est appelée par php5 quand il trouve
-
 
31
* une instanciation de classe dans le code.
-
 
32
*
-
 
33
*@param string $classe nom de la classe appelée.
29
 
34
*
-
 
35
*@return null le fichier contenant la classe.
-
 
36
*/
30
function autoloadFw($nom_classe_fw) {
37
function __autoload($classe) { 
31
	$fichier_a_inclure = dirname(__FILE__).DS.$nom_classe_fw.'.php';
38
	if (file_exists($fichier_a_tester = dirname(__FILE__).DS.$classe.'.php')) {
32
	if (file_exists($fichier_a_inclure)) {
39
		include_once $fichier_a_tester;
33
		include_once $fichier_a_inclure;
40
		return null;
-
 
-
 
34
		return null;
41
	} else {
35
	}
-
 
36
}
42
		/*  les dossiers dans lequels on cherche sont ceux 
37
spl_autoload_register('autoloadFw');
43
		*initialisés dans les fichiers de configuration
-
 
44
		*TODO: faire un tableau qui soit contenu dans le 
-
 
45
		*fichier de configuration pour que les utilisateurs
-
 
46
		* puissent rajouter les leur et agrandir les possibilités.
38
 
47
		*/
39
function autoloadAppliDefaut($nom_classe) {
-
 
40
	$dossiers_classes = array(	Config::get('dossier_controleurs'),
48
		$dossiers_classes = array(	Config::get('dossier_controleurs'),
41
								Config::get('dossier_modeles'),
49
									Config::get('dossier_modeles'));
42
								Config::get('dossier_bibliotheque'));
50
		
43
	
-
 
44
	foreach ($dossiers_classes as $chemin) {
51
		foreach ($dossiers_classes as $chemin) {
45
		$fichier_a_tester = $chemin.$nom_classe.'.php';
52
			if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
46
		if (file_exists($fichier_a_tester)) {
53
				include_once $fichier_a_tester;
-
 
54
				return null; 
47
			include_once $fichier_a_tester;
55
			}
48
			return null;
56
		}
49
		}
-
 
50
	}
-
 
51
}
-
 
52
spl_autoload_register('autoloadAppliDefaut');
-
 
53
 
-
 
54
if (function_exists('__autoload')) {
-
 
55
	spl_autoload_register('__autoload');
57
	}
56
}
58
}
57