Bonjour/ bonsoir,

Toujours dans l'apprentissage de la POO, je réécris régulièrement mon code...
J'ai écris la classe de connexion suivante:
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
class Database {
 
    private $db_host = 'XXX';
    private $db_user = 'XXX';
    private $db_pass = '';
    private $PDO;
 
    private function setConnection() {
        try {
            $this->PDO = new PDO($this->db_host, $this->db_user, $this->db_pass);
           ...
 
        } catch (PDOException $e) {//sinon, capture de l'erreur et affichage
            echo 'La base de donnée n\'est pas disponible. <br>Merci de rééssayer plus tard';
        }
    }
 
    public function getConnection(){
        return $this->PDO;
    }
 
}
Autant je crois avoir compris comment exploiter les propriétés et méthodes d'une classe seule, autant je ne comprends pas comment y faire appel dans une autre classe (je ne parle pas de classe fille)
J'ai créée mon objet dans le même fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$connection = new Database();
$auth = new Auth();
Et je veux maintenant m'en servir pour faire fonctionner la seconde classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class Auth {
...
public function login($data) {
$select = $connection->getConnection()->prepare(...);
...
}
Et là, je me retrouve avec un beau
Undefined variable: connection in C:\wamp\www...
ainsi que
Fatal error: Call to a member function getConnection() on a non-object in C:\wamp\www...
L'objet n'est pas reconnu. Que fois-je faire ?
merci,