Bonjour,
Tout d'abord je tiens à signaler que je débute dans la programmation POO ainsi qu'avec le modèle MVC.
Voila je me suis lancé dans la création d'un site Internet sur le modèle MVC et j'ai pu constater que tous mes modèles (classes) font appel à PDO2 qui est une classe héritant de PDO afin d'avoir qu'une seule connection quoi qu'il arrive (Je crois que sa s'appelle Singleton).
J'aimerais donc faire une class Modèles qui sera hérité par tous mes modèles afin de pouvoir utiliser librement mont objet db qui est une instance de PDO2 comme l'exemple ci-dessous :
Voici ma classe PDO 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 class Entreprises extends Modeles { function readAllEntreprises() { $res = $db->prepare("SELECT * FROM entreprise"); $res->execute(); return $results = $res->FetchAll(); } function readEntreprise($id) { } function createEntreprise($info = array()) { } function updateEntreprise ($info = array()) { } function deleteEntreprise ($id) { } }
Et voici ma classe modeles dont je ne sais comment la programmer, j'ai tenter quelquechose comme ça mais sans fort succès :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 class PDO2 extends PDO { private static $_instance; /* Constructeur : héritage public obligatoire par héritage de PDO */ public function __construct( ) { } // End of PDO2::__construct() */ /* Singleton */ public static function getInstance() { if (!isset(self::$_instance)) { try { self::$_instance = new PDO(SQL_DSN, SQL_USERNAME, SQL_PASSWORD); } catch (PDOException $e) { echo $e; } } return self::$_instance; } // End of PDO2::getInstance() */ }
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 abstract class Modeles { public $db ; public function __construct() { $this->db = PDO2::getInstance(); return $this->db; } }
Partager