Rev 2430 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// declare(encoding='UTF-8');/*** Le conteneur encapsule les classes servant aux scripts.* Il gère leur instanciation, ainsi que la récupération des paramètres depuis le fichier de configuration.** @category CEL* @package Scripts* @subpackage Bibliotheque* @author Mathias CHOUET <mathias@tela-botanica.org>* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @author Aurelien PERONNET <aurelien@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>*///TODO : initialiser tous les objets dans le conteneurclass Conteneur {protected $parametres = array();protected $partages = array();/*** Constructeur de la classe* @param Array $parametres (optionnel) les paramètres additionnels à ajouter à ceux des fichiers de config* */public function __construct(array $parametres = null) {$this->parametres = is_null($parametres) ? array() : $parametres;}/*** Obtenir un paramètre depuis le tableau de paramètres ou depuis le fichier de config* @param String $cle le nom du paramètre* @return la valeur du paramètre*/public function getParametre($cle) {$valeur = isset($this->parametres[$cle]) ? $this->parametres[$cle] : Config::get($cle);return $valeur;}/*** Obtenir un paramètre depuis le tableau de paramètres ou depuis le fichier de config* et le transformer en tableau s'il est de la forme : "cle=valeur,cle=valeur,..."* @param String $cle le nom du paramètre* @return la valeur du paramètre*/public function getParametreTableau($cle) {$tableau = array();$parametre = $this->getParametre($cle);if (empty($parametre) === false) {$tableauPartiel = explode(',', $parametre);foreach ($tableauPartiel as $champ) {if (strpos($champ, '=') === false) {$tableau[] = trim($champ);} else {list($cle, $val) = explode('=', $champ);$tableau[trim($cle)] = trim($val);}}}return $tableau;}/*** Enregistrer la valeur d'un paramètre* */public function setParametre($cle, $valeur) {$this->parametres[$cle] = $valeur;}/*** Permet d'obtenir un objet GestionBdd.*/public function getBdd() {if (!isset($this->partages['Bdd'])){$this->partages['Bdd'] = new Bdd();}return $this->partages['Bdd'];}/*** Permet d'obtenir un objet RestClient.*/public function getRestClient() {if (!isset($this->partages['RestClient'])) {$this->partages['RestClient'] = new RestClient();}return $this->partages['RestClient'];}/*** Permet d'obtenir un objet SquelettePhp.*/public function getSquelettePhp() {if (!isset($this->partages['SquelettePhp'])) {$this->partages['SquelettePhp'] = new SquelettePhp();}return $this->partages['SquelettePhp'];}}