IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

[PHP5][MYSQL]Préserver une connexion entre les classes


Sujet :

SQL Procédural MySQL

  1. #1
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut [PHP5][MYSQL]Préserver une connexion entre les classes
    Bonjour,

    Mon problème doit être simple mais je ne sais pas quelle méthode adopter pour mon application php5.

    J'ai une classe BDD qui se connecte a ma base de données et qui contient une variable $bd qui est un "handle" sur la base. Je dispose d'un autre coté de classes de "gestion" qui doivent utiliser la connexion établie et contenue dans l'instanciation de ma classe BDD.

    Pour limiter le nombre de connexion, je ne ne souhaite pas instancier la classe BDD dans chacune des classes de gestion.

    Comment faire pour que toutes mes classes n'utilisent q'une seule instanciation de ma classe BDD (ou du moins ne faire qu'une seule connexion à la base) ? Voyez-vous une solution ?

    J'espère avoir été clair dans mon explication

    Merci d'avance,
    Loïc
    ··· Champion des excuses bidons ··· Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet !

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    class toto{
        private static $instance;
        private __construct() {}
        public static function getInstance()
        {
            if( self::$instance == NULL)
            {
                self::$instance = new toto();
             }
             return self::$instance;
         }
    }
     
    //quelque part
    $c = toto::getInstance();
     
    //quelque part d'autre
    $c2 = toto::getInstance();
     
    // $c == $c2 est vrai.
    J'ai un petit doute sur la syntaxe par rapport au propriétés static, mais le principe y est.


    Par contre il faudrait y adjoindre un manager de connection car si tu souhaites ouvrir une connection vers un autre bdd tu est marron :s

  3. #3
    Membre habitué Avatar de nesbla
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 220
    Points : 139
    Points
    139
    Par défaut
    Merci pour l'idée, effectivement j'avais oublié la fameuse propriété "static".

    Je pense que ca résoud parfaitement mon problème !

    Je vais de ce pas appliquer cette solution, merci.
    ··· Champion des excuses bidons ··· Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet !

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Juste pour info, ce principe vient d'un design pattern appellé "Singleton" A+
    K

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/01/2012, 10h26
  2. Réponses: 4
    Dernier message: 24/02/2009, 13h56
  3. Réponses: 0
    Dernier message: 20/01/2009, 23h06
  4. [DC]navigabilité entre les classes d'une association one-to-many
    Par tnarol dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 04/03/2008, 07h48
  5. Partage d'une variable entre les processus fils
    Par Mehdi Feki dans le forum Linux
    Réponses: 7
    Dernier message: 09/01/2005, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo