* @copyright Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org) * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL * @version $Id: Bdd.php 403 2012-02-22 14:35:20Z gduche $ */ class GestionBdd { private $bdd; private $schemaBdd; private $navigation; /** * Constructeur de la classe GestionBdd * @param Navigation $navigation l'objet navigation issu du Conteneur, et contenant les informations de départ et limite * @param String $schemaBdd (optionnel) le schéma de la base issu du fichier de config * @param Bdd $bdd (optionnel) un objet Bdd pour la connection à la base de données * */ public function __construct($navigation, $schemaBdd = null, $bdd = null) { if ($navigation == null) { $message = 'L\'objet Navigation est nécessaire pour configurer l\'objet GestionBdd'; $code = RestServeur::HTTP_CODE_ERREUR; throw new Exception($message, $code); } else { $this->navigation = $navigation; $this->schemaBdd = $schemaBdd; if ($bdd == null) { $this->bdd = new Bdd(); } else { $this->bdd = $bdd; } } } /** * Créer la chaine de limite de requête en fonction des paramètres donnés * */ public function getLimitSql() { return ' LIMIT '.$this->navigation->getDepart().', '.$this->navigation->getLimite(); } /** * Récupérer l'objet Bdd ou le créer s'il n'existe pas * @return Bdd l'objet Bdd * */ public function getBdd() { if (!isset($this->bdd)){ $this->bdd = new Bdd(); } return $this->bdd; } } ?>