begin process at 2012 02 15 09:24:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Classe d'accès à une base de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Classe d'accès à une base de données

lundi 2 juin 2008 à 15:26:18 | Classe d'accès à une base de données

MadM@tt

Membre Club
Bonjour à tous,

Voilà j'ai réalisé une classe de connexion à une base de données.
Seulement maintenant, pour l'utiliser, je suis face à un choix sur lequel j'ai du mal à me décider :
est-ce que je redéclare une nouvelle classe (et donc nouvelle connexion) dans chaque fonction qui doit executer une requete, ou alors je crée au début de ma page un objet (donc une connexion) et elle reste ouvert tout du long.
La 2è solution me semble être la meilleure, mais ça veut dire que pour toute classe ou fonction que je fais et qui a besoin d'executer une requete, il faut que je fasse :
global $database;
pour qu'elle soit accessible ?


Voilà, merci si vous pouvez m'aider.

- MadMatt -

 www.choisir-une-entreprise.com

lundi 2 juin 2008 à 16:42:55 | Re : Classe d'accès à une base de données

coucou747

Administrateur CodeS-SourceS
salut

tu peux utiliser un Singleton, et une methode static dans ta classe :
$db = DB::getConnection();

ca te permet de recuperer ta connection sans faire de globales ou sans la passer en parametre.
lundi 2 juin 2008 à 16:47:55 | Re : Classe d'accès à une base de données

MadM@tt

Membre Club
Effectivement pourquoi pas, je vois le principe.
Mais je ne comprend pas en quoi ça résoudrait mon problème. Je devrais quand même, dans chaque fonction qui doit faire une requete, récupérer l'instance de ma classe... Donc autant l'instancier 1 fois au début de page et faire global $DB; dans chaque fonction ?

Merci

- MadMatt -

lundi 2 juin 2008 à 16:52:15 | Re : Classe d'accès à une base de données

coucou747

Administrateur CodeS-SourceS
non

class DB{
private static $instance=false;

....

public static function getInstance(){
  if (self::$instance===false){
    self::$instance = new DB();
  }
  return self::$instance;
}

}
mardi 3 juin 2008 à 09:46:03 | Re : Classe d'accès à une base de données

MadM@tt

Membre Club
Ah effectivement je connaissais pas le self::$instance, c'est interessant.

Mais la à l'utilisation (désolé d'etre redondant), je ne vois pas comment ça simplifiera mon problème. En effet, dans mes fonctions qui doivent executer des requetes, je devrais faire un : $DB = getInstance() pour pouvoir récupérer une instance de la classe ? Donc ça me contraint quand même à rajouter 1 ligne de code dans chaque fonction.
C'est pourquoi j'hésite à supprimer ma classe et utiliser des fonctions toutes bêtes à la place en fait...

Merci

- MadMatt - [ Lien ]

mardi 3 juin 2008 à 14:24:43 | Re : Classe d'accès à une base de données

coucou747

Administrateur CodeS-SourceS
Réponse acceptée !
ajouter une ligne de code et gagner en portabilite, proprete, lisibilite, facilite de debug, etc...

dans ta classe DB, tu peux gerer les Exceptions de ta db bien plus facilement, t'as des trucs facilement automatisables...


Cette discussion est classée dans : base, données, connexion, classe, accès


Répondre à ce message

Sujets en rapport avec ce message

Connexion à une base de données Paradox ! [ par orelien ] Bonjour !Voilà, j'aimerai me connecter à une base de données Paradox mais je n'y arrive pas !...Quelqu'un peut il m'aider ??Merci beaucoup.Orelien. connexion aun base de données [ par jessicalba ] bonjour jai posé cette question tout a lheure dans le thème base de données mais je nai pas eu de retour je rencontre un problème au niveau dune base wamp et base de données [ par chamallow ] Bonjour,Je suis confrontée à un problème bizarre avec wamp depuis que je l'ai installé sur ma machine (il y a 2mois).Pour informations, je suis sous W connexion base de données [ par lofely85 ] Bonjour, j'ai crée toutes mes pages pour mon site a laide du bloc note. j'aimerai le connecte a une base access (php\mysql) c'est pour cela ke jai Connexion base de données [ par MadM@tt ] Bonjour à tous,Voilà auparavant dans mes scripts, je faisais une connexion à mon serveur sql à chaque requete de ma page, et je fermais la connexion a Accès sécurisé [ par vxr888 ] Bonjour,Je suis entrain de créer un petit forum / système de login - password made in moi-même et pour sécuriser les mots de passe je les crypte en md Echec de la connexion au serveur de base de données [ par newsparallel ] Bonjour,j'ai heberger mon site sur le serveur MAROC TELECOM , mon probleme c'est que la base de données ne s'affiche pas la reponse est tjs :joomla Le Acceder a la base de données d'une machine virtuelle [ par mickael56100 ] Bonjour tout le monde, je souhaiterais accéder à la base de données d'une machine virtuelle. J'utilise Wamp Server sur les 2 machines, ma machine phys connexion avec base de données via easy php5.3.5.0 [ par rosa8754 ] [^^sad2]bnjr j'ai un problème de connexion avec ma base de données via easyphp5.3.5.0 je ne reçoit aucune erreur mais la table est tjr vide j n c pas création d'une base de données complexe " on va dire " [ par artificier15 ] bonjour je souhaiterais créer une base de données à partir de copier / coller d'une page web, l'insérer dans une page sur mon site, l'envoyer dans la


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,306 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales