class Foo
{
private $o_instance;
public function __construct() {
$this->o_instance = new Bar(); // Création d'un objet Bar()
}
}
class Menu
{
private $o_db;
public function __construct() {
$this->o_db = new MySQL();
}
}
$sql = new MySQL();
Dans ta classe Menu, tu prévois un attribut privé pour stocker l'objet MySQL :
private $sql = NULL
Et dans ton constructeur, tu prends en paramètre l'objet sql à stocker et tu l'assignes à l'attribut :
function __contruct($sql)
{
$this->sql = $sql;
}
Lors de la création du menu, tu as donc juste à lui passer ton objet sql :
Code : Tout sélectionner
$menu = new Menu($sql);public function test()
{
$this->sql->query('SELECT "Ca marche !"');
}
function __construct(MySQL $sql)
mais je ne garantis rien et je t'inciterais à garder cette méthode même si tu n'as pas l'autocomplétion…