confSpecification = $configSpec; $this->parser = $parser; } /** * Getter * @return Specification */ public function getSpecification() { return $this->confSpecification; } /** * Getter * @return Parser */ public function getParser() { return $this->parser; } /** * Handle the configuration process and return the final configuration * * @param strinig $name the name of the loaded environnement * @return Array */ public function handle($selectedEnv = null) { //get the correspondant file $file = $this->confSpecification->getConfigurationFile(); //parse $env = $this->parser->parse($file); //get selected env if (null === $selectedEnv) { $selectedEnv = $this->confSpecification->getSelectedEnv($env); } $this->selectedEnvironnment = $selectedEnv; if (!isset($env[$selectedEnv])) { throw new \Exception(sprintf('Undeclared environment %s', $selectedEnv)); } return $env[$selectedEnv]; } public function getSelectedEnvironnment() { return $this->selectedEnvironnment; } }