par
Sékiltoyai » 26 nov. 2007, 02:59
Bah c'est question de choix… Personnellement j'utilise le passage d'une référence qui te permet d'avoir autant de connexions que tu le désires, et qui est plus simple à implémenter pour un débutant puisque la notion de méthodes statiques se voit souvent après la notion d'instanciation d'objets.
Donc pour la mise en œuvre, c'est exactement le message de zeus. Tu instancies ta classe 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 :
Et tu peux maintenant utiliser sans problème ta connexion sql dans ton menu :
public function test()
{
$this->sql->query('SELECT "Ca marche !"');
}
Bah c'est question de choix… Personnellement j'utilise le passage d'une référence qui te permet d'avoir autant de connexions que tu le désires, et qui est plus simple à implémenter pour un débutant puisque la notion de méthodes statiques se voit souvent après la notion d'instanciation d'objets.
Donc pour la mise en œuvre, c'est exactement le message de zeus. Tu instancies ta classe MySQL :
[php]$sql = new MySQL();[/php]
Dans ta classe Menu, tu prévois un attribut privé pour stocker l'objet MySQL :
[php]private $sql = NULL[/php]
Et dans ton constructeur, tu prends en paramètre l'objet sql à stocker et tu l'assignes à l'attribut :
[php]function __contruct($sql)
{
$this->sql = $sql;
}[/php]
Lors de la création du menu, tu as donc juste à lui passer ton objet sql :
[code]$menu = new Menu($sql);[/code]
Et tu peux maintenant utiliser sans problème ta connexion sql dans ton menu :
[php]public function test()
{
$this->sql->query('SELECT "Ca marche !"');
}[/php]