Et ça, ça sert à quoi d'après toi ?
En interne, la classe Singleton va créer une nouvelle instance de PDO et te permettra par la suite d'accéder en garantissant l'unicité de l'instance.Code:Singleton::PDO($dsn, $user, $pwd);
Version imprimable
Et ça, ça sert à quoi d'après toi ?
En interne, la classe Singleton va créer une nouvelle instance de PDO et te permettra par la suite d'accéder en garantissant l'unicité de l'instance.Code:Singleton::PDO($dsn, $user, $pwd);
Donc là ça commence à marcher :D
J'ai fait comme ça :
J'ai ensuite une classe Member :Code:
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
30 <?php class Connection{ private static $instance = null; private function __construct() {} private function __clone() {} static public function getInstance() { if (!$self->instance) { try { $self->instance = new PDO("mysql:host=localhost;dbname=db", "root", ""); $self->instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { die('Erreur de connexion: ' . $e->getMessage()); } } return $self->instance; } }
Donc ça marche bien et ma classe member a bien un handle sur la connexion à la base de donnée.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php include_once 'Connection.class.php'; class Member { public function __construct($id) { $params = array( 'id' => $id, ); $this->_database = Connection::getInstance(); $query = $this->_database->prepare('SELECT * FROM users WHERE id = ' . $id .''); $query->execute($params); //etc... } }
En ce qui concerne callStatic, j'ai lancé tombé, je n'arrive pas à le faire marcher même avec la version 5.3.5.
Bref t'as rien écouté...
Non...j'ai pas compris, je cherche et j'essaye, c'est différent...