Subversion Repositories Applications.framework

Rev

Rev 188 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 aurelien 1
<?php
105 aurelien 2
// declare(encoding='UTF-8');
5 aurelien 3
/**
105 aurelien 4
 * Fichier contenant la fonction de chargement automatique de classes, il doit toujours rester à la racine
98 jpm 5
 * du framework car il initialise le chemin de l'application en se basant sur son propre emplacement.
120 aurelien 6
 *
475 jpm 7
 * @category	PHP 5.2
8
 * @package		Framework
98 jpm 9
 * @author Aurelien PERONNET <aurelien@tela-botanica.org>
120 aurelien 10
 * @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
475 jpm 11
 * @copyright	Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
98 jpm 12
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
13
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
5 aurelien 14
 */
15
 
105 aurelien 16
// Redéfinition de la constante DIRECTORY_SEPARATOR
120 aurelien 17
if (!defined('DS')) {
18
	define('DS', DIRECTORY_SEPARATOR);
61 aurelien 19
}
105 aurelien 20
// Redéfinition de la constante PATH_SEPARATOR
120 aurelien 21
if (!defined('PS')) {
22
	define('PS', PATH_SEPARATOR);
92 jpm 23
}
5 aurelien 24
 
98 jpm 25
// Autoload pour le Framework
92 jpm 26
function autoloadFw($nom_classe_fw) {
27
	$fichier_a_inclure = dirname(__FILE__).DS.$nom_classe_fw.'.php';
28
	if (file_exists($fichier_a_inclure)) {
29
		include_once $fichier_a_inclure;
80 jpm 30
		return null;
92 jpm 31
	}
32
}
33
spl_autoload_register('autoloadFw');
34
 
188 jpm 35
// Initialisation du gestionnaire d'erreur avant toute chose
36
GestionnaireException::initialiser();
37
 
105 aurelien 38
// Autoload par défaut pour l'application
92 jpm 39
function autoloadAppliDefaut($nom_classe) {
98 jpm 40
	$dossiers_classes = array(	Config::get('chemin_controleurs'),
41
								Config::get('chemin_modeles'),
42
								Config::get('chemin_bibliotheque'));
120 aurelien 43
 
92 jpm 44
	foreach ($dossiers_classes as $chemin) {
45
		$fichier_a_tester = $chemin.$nom_classe.'.php';
46
		if (file_exists($fichier_a_tester)) {
47
			include_once $fichier_a_tester;
48
			return null;
78 jpm 49
		}
50
	}
5 aurelien 51
}
92 jpm 52
spl_autoload_register('autoloadAppliDefaut');
53
 
105 aurelien 54
// Autoload défini par l'application
92 jpm 55
if (function_exists('__autoload')) {
56
	spl_autoload_register('__autoload');
57
}
5 aurelien 58
?>