Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 485 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 485 Rev 1068
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/**
-
 
3
 * Le conteneur encapsule les classes servant aux scripts.
-
 
4
 * Il gère leur instanciation, ainsi que la récupération des paramètres depuis le fichier de configuration, et
-
 
5
 * de la ligne de commande.
-
 
6
 *
-
 
7
 * @category	eFlore
-
 
8
 * @package		Scripts
-
 
9
 * @subpackage	Bibliotheque
-
 
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
11
 * @copyright	Copyright (c) 2014, Tela Botanica (accueil@tela-botanica.org)
-
 
12
 * @license		CeCILL v2 http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt
-
 
13
 * @license		GNU-GPL http://www.gnu.org/licenses/gpl.html
-
 
14
 */
-
 
15
//TODO : initialiser tous les objets dans le conteneur
2
class Conteneur {
16
class Conteneur {
3
	protected $parametres = array();
17
	protected $parametres = array();
4
	protected $partages = array();
18
	protected $partages = array();
Line 5... Line 19...
5
 
19
 
Line 10... Line 24...
10
	public function getParametre($cle) {
24
	public function getParametre($cle) {
11
		$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);
25
		$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);
12
		return $valeur;
26
		return $valeur;
13
	}
27
	}
Line -... Line 28...
-
 
28
 
-
 
29
	/**
-
 
30
	 * Obtenir un paramètre depuis le tableau de paramètres ou depuis le fichier de config
-
 
31
	 * et le transformer en tableau s'il est de la forme : "cle=valeur,cle=valeur,..."
-
 
32
	 * @param String $cle le nom du paramètre
-
 
33
	 * @return la valeur du paramètre
14
 
34
	 */
15
	public function getParametreTableau($cle) {
35
	public function getParametreTableau($cle) {
16
		$tableau = array();
36
		$tableau = array();
17
		$parametre = $this->getParametre($cle);
37
		$parametre = $this->getParametre($cle);
18
		if (empty($parametre) === false) {
38
		if (empty($parametre) === false) {
19
			$tableauPartiel = explode(',', $parametre);
-
 
20
			$tableauPartiel = array_map('trim', $tableauPartiel);
39
			$tableauPartiel = explode(',', $parametre);
21
			foreach ($tableauPartiel as $champ) {
40
			foreach ($tableauPartiel as $champ) {
22
				if (strpos($champ, '=') === false) {
41
				if (strpos($champ, '=') === false) {
23
					$tableau[] = trim($champ);
42
					$tableau[] = trim($champ);
24
				} else {
43
				} else {
Line 46... Line 65...
46
			$this->partages['EfloreCommun'] = new EfloreCommun($this);
65
			$this->partages['EfloreCommun'] = new EfloreCommun($this);
47
		}
66
		}
48
		return $this->partages['EfloreCommun'];
67
		return $this->partages['EfloreCommun'];
49
	}
68
	}
Line 50... Line 69...
50
 
69
 
51
	public function getMessages() {
70
	public function getMessages() {
52
		if (!isset($this->partages['Messages'])){
71
		if (!isset($this->partages['Messages'])){
53
			$this->partages['Messages'] = new Messages($this->getParametre('-v'));
72
			$this->partages['Messages'] = new Messages($this->getParametre('v'));
54
		}
73
		}
55
		return $this->partages['Messages'];
74
		return $this->partages['Messages'];
Line 56... Line 75...
56
	}
75
	}
57
 
76
 
58
	public function getGenerateurNomSciHtml() {
77
	public function getGenerateurNomSciHtml() {
59
		if (!isset($this->partages['GenerateurNomSciHtml'])){
78
		if (!isset($this->partages['GenerateurNomSciHtml'])){
60
			$this->partages['GenerateurNomSciHtml'] = new GenerateurNomSciHtml();
79
			$this->partages['GenerateurNomSciHtml'] = new GenerateurNomSciHtml();
61
		}
80
		}
Line 62... Line 81...
62
		return $this->partages['GenerateurNomSciHtml'];
81
		return $this->partages['GenerateurNomSciHtml'];
63
	}
82
	}
64
 
83
 
65
	public function getRestClient() {
84
	public function getRestClient() {
66
		if (!isset($this->partages['RestClient'])){
85
		if (!isset($this->partages['RestClient'])){
67
			$this->partages['RestClient'] = new RestClient();
86
			$this->partages['RestClient'] = new RestClient();
Line 68... Line 87...
68
		}
87
		}
69
		return $this->partages['RestClient'];
88
		return $this->partages['RestClient'];
70
	}
89
	}
71
 
90
 
72
	public function getBdd() {
91
	public function getBdd() {
73
		if (!isset($this->partages['Bdd'])){
92
		if (!isset($this->partages['Bdd'])){
74
			$this->partages['Bdd'] = new Bdd();
-
 
75
		}
-
 
76
		return $this->partages['Bdd'];
93
			$this->partages['Bdd'] = new Bdd();
-
 
94
		}
77
	}
95
		return $this->partages['Bdd'];