[PHP] Visibilité des variables

fissunix

Membre actif
12 Avril 2004
290
17
40
Fribourg (CH)
www.contesse.ch
Bonjour à tous,

Je rencontre un problème dans un site. Je voudrais utiliser une classe PHP (4) nommée db.class.php, qui est capable d'effectuer des requêtes sur le serveur MySQL. Ensuite je voudrais utiliser une deuxième classe nommée news.class.php qui est capable de gérer la table MySQL "news". Donc dans ma page test.php, j'ai le code suivant:

Bloc de code:
/* Page test.php */
require_once("classes/db.class.php");
require_once("classes/news.class.php");
global $db;
$db =& new DB();
$exemple = new News();
$exemple->insert();
$db->close();

En sachant que dans la fonction insert() de la classe News(), la dernière ligne est:
Bloc de code:
$db->query("La requête SQL pour ajouter la news...");

Est-ce qu'il y a un moyen pour déclarer une variable $db dans ma test.php et que je puisse l'utiliser dans la classe news.class.php ?

Merci de votre aide...
 
Je ne te comprends pas bien là?
Tu veux utiliser une occurence de la classe DB [contenue dans db.class.php] qui se nomme $db et que tu as annoncée dans ton fichier test.php, dans ta classe News située dans news.class.php ?
Ou j'ai mal compris ?
 
Exactement, je voudrais utiliser une instance ($db) de la classe DB dans une instance de ma classe News ($exemple) -> le tout dans la page test.php. Je ne sais pas si c'est possible, j'ai vu plein d'exemple de classes DB et je cherche le moyen le plus propre de l'utiliser pour enregistrer mes objets dans ma base de données...

Est-ce que je suis complétement à côté de la plaque ?
 
Désolé de vous avoir embêter, j'ai finalement résolu mon problème en passant l'instance $db dans le constructeur de ma classe news
Bloc de code:
$ex = new News($db);
. Apparemment, on est obligé de le faire comme ça...

A bientôt ;)
 
J'allais te le suggérer, mais tu as trouvé avant que je n'arrive chez moi :D