Bonjour à tous

je me pose une question très bête mais qui l'est peut-être pas !

je vois souvent des codes de ce style
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
 
//bdd ==> classes qui gère les requêtes sql (par exemple)
$bdd = new bdd();
 
class truc {
   function bidule ()
   {
      global $bdd;
      .........
      $bdd->ma_function(...);
   }
}
 
$truc = new truc();
$truc->bidule();
or ma question est la suivante :
l'utilisation de global pour chaque fonction est-elle mieux ou moins bien que cette proposition :

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
 
//bdd ==> classes qui gère les requêtes sql (par exemple)
$bdd = new bdd();
 
class truc {
   public $bdd;
 
   function __construct ($bdd)
   {
      $this->bdd = $bdd;
   }
 
   function bidule ()
   {
      .........
      $this->bdd->ma_function(...);
   }
}
 
$truc = new truc($bdd);
$truc->bidule();
c'est tout "con" mais je ne vois pas quelle est la meilleure solution niveau "structure" et niveau "optimisation php"

Peut-être existe-t-il une meilleure solution?

Merci d'avance pour cette petite question