1,78 → 1,81 |
<?php |
|
abstract class Modele { |
|
private $registre; |
private $gestionnaire_erreur; |
private $dsn; |
private $type; |
private $hote; |
private $bdd_nom; |
private $utilisateur; |
private $pass ; |
private $connexion = null; |
|
/** |
* Constructeur par défaut, appelé à l'initialisation |
*/ |
final public function __construct() { |
$this->registre = Registre::getInstance() ; |
$this->gestionnaire_erreur = GestionnaireErreur::getInstance() ; |
$this->type = $this->registre->get('bdd_type'); |
$this->hote = $this->registre->get('bdd_hote'); |
$this->bdd_nom = $this->registre->get('bdd_nom'); |
$this->utilisateur = $this->registre->get('bdd_utilisateur'); |
$this->pass = $this->registre->get('bdd_pass'); |
|
$this->dsn = $this->type.':dbname='.$this->bdd_nom.';host='.$this->hote; |
} |
|
/** |
* Fonction qui appelle la bonne fonction de requete suivant le type de bdd. |
* |
* @param string la requete à effectuer |
* @return PDOStatement un objet contenant le résultat de la requête |
*/ |
final protected function requete($requete) { |
// on ne se connecte que lors du premier appel à une requete |
if($this->connexion == null) { |
$this->connecter(); |
} |
|
return $this->connexion->query($requete); |
} |
|
/** |
* Connection à la base de données en utilisant les informations fournies par |
* le fichier de configuration. |
* private et final car n'a pas vocation a être appelée par l'utilisateur. |
* |
* @throws PDOException une exception dans le cas ou là connexion échoue |
*/ |
final private function connecter() { |
try { |
$this->connexion = new PDO($this->dsn,$this->utilisateur,$this->pass); |
} catch (PDOException $e) { |
|
} |
} |
|
final protected function proteger($chaine) { |
// Connection lors du premier appel à une requete |
if($this->connexion == null) { |
$this->connecter(); |
} |
|
return $this->connexion->quote($chaine); |
} |
|
/** |
* Destructeur de classe, se contente de fermer explicitement la connexion |
*/ |
final public function __destruct() { |
if($this->connexion != null) { |
$this->connexion = null ; |
} |
} |
} |
<?php |
|
abstract class Modele { |
|
private $registre; |
private $gestionnaire_erreur; |
private $dsn; |
private $type; |
private $hote; |
private $bdd_nom; |
private $utilisateur; |
private $pass ; |
private $connexion = null; |
|
/** |
* Constructeur par défaut, appelé à l'initialisation |
*/ |
final public function __construct() { |
|
$this->registre = Registre::getInstance() ; |
$this->gestionnaire_erreur = GestionnaireErreur::getInstance() ; |
$this->type = $this->registre->get('bdd_type'); |
$this->hote = $this->registre->get('bdd_hote'); |
$this->bdd_nom = $this->registre->get('bdd_nom'); |
$this->utilisateur = $this->registre->get('bdd_utilisateur'); |
$this->pass = $this->registre->get('bdd_pass'); |
|
$this->dsn = $this->type.':dbname='.$this->bdd_nom.';host='.$this->hote; |
} |
|
/** |
* Fonction qui appelle la bonne fonction de requete suivant le type de bdd |
* @param string la requete à effectuer |
* @return PDOStatement un objet contenant le résultat de la requête |
*/ |
final protected function requete($requete) { |
|
// on ne se connecte que lors du premier appel à une requete |
if($this->connexion == null) { |
$this->connecter(); |
} |
|
return $this->connexion->query($requete); |
} |
|
/** |
* Connecte à la base de données en utilisant les informations fournies par |
* le fichier de configuration, private et final car n'a pas vocation a être appelée |
* par l'utilisateur |
* @throws PDOException une exception dans le cas ou là connexion échoue |
*/ |
final private function connecter() { |
|
try { |
$this->connexion = new PDO($this->dsn,$this->utilisateur,$this->pass); |
} catch (PDOException $e) { |
|
} |
} |
|
final protected function proteger($chaine) { |
|
// on ne se connecte que lors du premier appel à une requete |
if($this->connexion == null) { |
$this->connecter(); |
} |
|
return $this->connexion->quote($chaine); |
} |
|
/** |
* Destructeur de classe, se contente de fermer explicitement la connexion |
*/ |
final public function __destruct() { |
|
if($this->connexion != null) { |
$this->connexion = null ; |
} |
} |
} |
?> |