Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 138 Rev 139
Line 26... Line 26...
26
		// Enregistrement en première position des autoload de la méthode gérant les classes des services
26
		// Enregistrement en première position des autoload de la méthode gérant les classes des services
27
		spl_autoload_register(array(get_class(), 'chargerClasseAuto'));
27
		spl_autoload_register(array(get_class(), 'chargerClasseAuto'));
28
	}
28
	}
Line 29... Line 29...
29
 
29
 
-
 
30
	public static function chargerClasseAuto($classe) {
30
	public static function chargerClasseAuto($classe) {
31
		//echo $classe."\n";
31
		if (class_exists($classe)) {
32
		if (class_exists($classe)) {
32
			return null;
33
			return null;
33
		}
-
 
-
 
34
		}
34
		$cheminBase = realpath(__DIR__.'/../metier/api_0.1').'/';
35
		
-
 
36
		$cheminsTests = __DIR__.'/';
-
 
37
		$cheminMetier = realpath(__DIR__.'/../metier/api_0.1').'/';
35
		$cheminsTests = __DIR__.'/';
38
		$cheminModule = realpath(__DIR__.'/../modules/').'/';
36
		$chemins = array($cheminBase, $cheminsTests);
39
		$chemins = array($cheminMetier, $cheminModule, $cheminsTests);
37
		foreach ($chemins as $chemin) {
40
		foreach ($chemins as $chemin) {
-
 
41
			$cheminCourt = $chemin.$classe.'.php';
-
 
42
			$module = strtolower(preg_replace('/([A-Z])/', '_\\1', lcfirst($classe)));
-
 
43
			$cheminLong = $chemin.$module.'/'.$classe.'.php';
38
			$chemin = $chemin.$classe.'.php';
44
			//echo $cheminCourt."\n".$cheminLong."\n";
-
 
45
			if (file_exists($cheminCourt)) {
-
 
46
				require_once $cheminCourt;
39
			if (file_exists($chemin)) {
47
			} elseif (file_exists($cheminLong)) {
40
				require_once $chemin;
48
				require_once $cheminLong;
41
			}
49
			}
42
		}
50
		}
Line 43... Line 51...
43
	}
51
	}
Line 94... Line 102...
94
		return $url;
102
		return $url;
95
	}
103
	}
Line 96... Line 104...
96
 
104
 
97
	//+------------------------------------------------------------------------------------------------------+
105
	//+------------------------------------------------------------------------------------------------------+
98
	// Méthodes facilitant les tests
106
	// Méthodes facilitant les tests
99
 
107
	
100
	/**
108
	/**
101
	* Récupère un bouchon de classe abstraite.
109
	* Récupère un bouchon de classe abstraite.
102
	* Comment l'utiliser :
110
	* Comment l'utiliser :
103
	* 	$classeAstraite = $this->getClasseAbstraite('MaClasse', array('param1', 'param2'));
111
	* 	$classeAstraite = $this->getClasseAbstraite('MaClasse', array('param1', 'param2'));