19,9 → 19,11 |
class Conteneur { |
|
protected $parametres; |
protected $parametresUrl; |
protected $partages = array(); |
|
protected $parametresUrl; |
protected $serviceNom; |
|
/** |
* Constructeur de la classe |
* @param Array $parametres (optionnel) les paramètres additionnels à ajouter à ceux des fichiers de config |
28,10 → 30,11 |
* */ |
public function __construct(array $parametres = null) { |
$this->parametres = is_null($parametres) ? array() : $parametres; |
// TODO [2014-05-13 - JPM]: améliorer la gestion des paramètres d'URL fournis au conteneur. |
// Ce conteneur conscidère que les paramètres fournis à son constructeur correspondent aux paramètres de l'URL (GET ou POST)... |
// Ce n'est pas vraiment générique. |
$this->parametresUrl = $this->parametres; |
|
// Récupération du contexte courrant et configuration du conteneur |
$contexte = $this->getContexte(); |
$this->parametresUrl = $contexte->getQS(); |
$this->serviceNom = $contexte->getRessource(1); |
} |
|
/** |
89,9 → 92,10 |
throw new Exception($message, $code); |
} |
|
$cheminConfigService = $cheminConfigurations.DS.$fichier; |
$cheminConfigService = $cheminConfigurations.$fichier; |
if (file_exists($cheminConfigService) === false) { |
$message = "Le fichier de configuration du service est introuvable : $cheminConfigService "; |
$nomClasse = get_class($this); |
$message = "Classe $nomClasse : le fichier de configuration du service est introuvable : $cheminConfigService "; |
$code = RestServeur::HTTP_CODE_ERREUR; |
throw new Exception($message, $code); |
} |
117,6 → 121,10 |
return new Url($base); |
} |
|
public function getUrlService() { |
return $this->getUrl($this->getParametre($this->serviceNom.'.url_service')); |
} |
|
public function getControleAcces() { |
if (!isset($this->partages['controleAcces'])) { |
$this->partages['controleAcces'] = new ControleAcces($this); |
133,8 → 141,22 |
|
public function getMasque() { |
if (!isset($this->partages['masque'])) { |
$this->partages['masque'] = new Masque($this->getparametre('masques_possibles'), $this->parametresUrl); |
$this->partages['masque'] = new Masque($this->getparametre($this->serviceNom.'.masques_possibles'), $this->parametresUrl); |
} |
return $this->partages['masque']; |
} |
|
public function getContexte() { |
if (!isset($this->partages['contexte'])) { |
$this->partages['contexte'] = new Contexte($this, $_SERVER, $_GET, $_POST, $_SESSION, $_COOKIE); |
} |
return $this->partages['contexte']; |
} |
|
public function getUtilisateur() { |
if (!isset($this->partages['utilisateur'])) { |
$this->partages['utilisateur'] = new GestionUtilisateur($this); |
} |
return $this->partages['utilisateur']; |
} |
} |