Utilisation d'une classe Log avec Mysqli

Rechercher

Utilisation d'une classe Log avec Mysqli

Par Clebert  -  4 reponses  -  Le 04/09/2008 11:46  -  Editer  - 

Bonjour à tous,

Suite au tutoriel de gestion des exceptions php présent sur ce site j'ai construit une classe de log qui utilise mysqli pour la connexion à la base mysql.

J'instancie cette classe au début de mes scripts pour ouvrir une connexion. Lorsque je veux loguer une exception je dois utiliser l'objet mysqli pour éviter de me reconnecter à la base.

Est-ce que je dois recréer un objet Mysqli pour chaque nouvelle instance de la classe log ou est-il possible d'utiliser l'objet créer en début de script (qui a déjà ouvert une connexion)?

Merci d'avance pour vos réponses.

 

Réponses apportées à cette discussion

Par Emacs  -  Le 04/09/2008 14:42  -  Haut de page  - 

Bonjour Clébert,

Non il faut utiliser la seule et unique instance de votre classe MySQLi puisqu'elle contient la connexion à la BDD. Si vous l'instanciez plusieurs fois, vous allez créer plusieurs connexions à MySQL inutile qui coûte cher en performances.

 
Par cyruss  -  Le 04/09/2008 23:40  -  Haut de page  - 

Emacs> Il me semble que la connexion à la base ne se fait qu'une seule fois avec mysqli_connect() même si tu y fais appel plusieurs fois.

En gros le singleton est fait du coté de l'extension mysqli de PHP. Donc pas besoin de t'emmerder.

Ceci dit c'est important de bien comprendre l'intéret du singleton dans ce genre de manipulation souvent couteuses en performances.

++

 

Cyruss

 
Par Emacs  -  Le 05/09/2008 02:01  -  Haut de page  - 

Content que tu viennes poster ton avis ici Cyril :)

J'apprends quelque chose concernant mysqli_connect(). Il faudrait que je teste pour vérifier ça.

 
Par Clebert  -  Le 05/09/2008 09:48  -  Haut de page  - 

Merci beaucoup !! c'était justement l'objet de mon post, je pensais qu'à chaque instance de la classe Mysqli, on relançait une connexion ..

 

Du coup, dès que j'ai besoin de la BDD dans une classe, je peux recréer un objet Mysqli sans me soucier de rien.

 

Bonne journée

 

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |