Model_pdo.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * MINZ - Copyright 2011 Marien Fressinaud
  4. * Sous licence AGPL3 <http://www.gnu.org/licenses/>
  5. */
  6. /**
  7. * La classe Model_sql représente le modèle interragissant avec les bases de données
  8. * Seul la connexion MySQL est prise en charge pour le moment
  9. */
  10. class Model_pdo {
  11. /**
  12. * $bd variable représentant la base de données
  13. */
  14. protected $bd;
  15. protected $prefix;
  16. /**
  17. * Créé la connexion à la base de données à l'aide des variables
  18. * HOST, BASE, USER et PASS définies dans le fichier de configuration
  19. */
  20. public function __construct () {
  21. $db = Configuration::dataBase ();
  22. try {
  23. $type = $db['type'];
  24. if($type == 'mysql') {
  25. $string = $type
  26. . ':host=' . $db['host']
  27. . ';dbname=' . $db['base'];
  28. } elseif($type == 'sqlite') {
  29. $string = $type
  30. . ':/' . PUBLIC_PATH
  31. . '/data/' . $db['base'] . '.sqlite';
  32. }
  33. $this->bd = new PDO (
  34. $string,
  35. $db['user'],
  36. $db['password']
  37. );
  38. $this->prefix = $db['prefix'];
  39. } catch (Exception $e) {
  40. throw new PDOConnectionException (
  41. $string,
  42. $db['user'], MinzException::WARNING
  43. );
  44. }
  45. }
  46. }