|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Inscription : août 2005 Messages : 171 ![]() |
Bonjour,
Je débute en POO, et je me demande s'il vaut mieux que j'ouvre une connection mysql en début de page pour la refermer à la fin (et passer l'objet créé par mysqli en paramètre pour que tous mes objets utilisent cette connection), ou s'il vaux mieux que je l'ouvre et la referme à cuaque création d'objet. Pour donner un exemple, faut-il mieux faire ça : Code :
Code :
Je ne sais pas si je suis très clair... |
||||
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Développeur Web Inscription : janvier 2007 Messages : 438 ![]() |
D'un point de vue logique, mieux vaut ouvrir, effectuer tous tes traitements et fermer plutôt que d'ouvrir, traiter une chose, fermer, puis ouvrir, traiter une autre, fermer, etc..
Mais tu parles bien d'ouvrir une connexion pas d'exécution de requêtes ? Tout de façon, ça revient au même pour la solution que je te donne. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2005 Messages : 171 ![]() |
Merci de ta réponse
En effet, d'habitude (en php4) je n'ouvrais qu'une fois ma connection par page. Mais avec le langage objet, mon soucis est qu'il faut à chaque fois passer l'objet $bdd à chaque initialisation, ce que je ne trouve pas super pratique. Et passer par une variable globale, ce n'est pas top non plus... |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Développeur Web Inscription : janvier 2007 Messages : 438 ![]() |
Sinon pour te conforter.. tu peux calculer le temps d'exécution de ton script et le comparer à celui de l'autre méthode.
Etant donné que tu te reconnectes, tu te réidentifies et donc ça devrait mettre plus de temps dans la 1ère méthode. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : août 2005 Messages : 171 ![]() |
Pas de soucis à ce niveau, je te fais confiance (comme je te le disais, c'est déjà ce que je faisais avant, donc je suis déjà convaincu
Dois-je obligatoirement passer l'objet $bdd dans mes constructeurs, pour ensuite le définir comme attribut de classe (afin que ma bdd soit utilisable par toutes les méthodes de ma classe)? Avec la version procédurale, je peux ouvrir la connection au début, faire toutes mes requêtes, puis fermer à la fin de ma page, mais c'est un peu dommage de faire de la POO et d'utiliser les fonctions en procédurales, je trouve... :S |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com