ressources = $ressources; $this->parametres = $parametres; $this->versions = $versions; } public function verifier() { $this->verifierDispoMultiProjetPourService(); $this->verifierExistance(); } private function verifierDispoMultiProjetPourService() { $servicesMultiProjet = array('NomDetails'); $classeService = $this->ressources->getServiceClasse(); $versionDemandee = $this->parametres->get('version.projet'); if ($versionDemandee == '*' && in_array($classeService, $servicesMultiProjet) === false) { $message = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id"; $code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE; throw new Exception($message, $code); } } private function verifierExistance() { $versionDemandee = $this->parametres->get('version.projet'); $versionTrouvee = $this->versions->getVersions(); if (is_numeric($versionDemandee)) { if (count($versionTrouvee) == 0) { $projet = $this->ressources->getProjetNom(); $message = "La version '$versionDemandee' n'est pas disponible pour le projet '$projet' !"; $code = RestServeur::HTTP_CODE_RESSOURCE_INTROUVABLE; throw new Exception($message, $code); } } } } ?>