[PDO php/mysql ] aide , optimisation de code

Résolu
chabacha109 Messages postés 326 Statut Membre -  
chabacha109 Messages postés 326 Statut Membre -
Bonjour a tous,

soit la class membre suivante :

class membre {   
 private $login ;   
 private $pays ;   
 private $pass;    


 public function  est_bloquer($log)   
    {   
           
$dbh = new PDO('mysql:host=localhost;dbname=monsite','root','');   
//la suite...   
    }   


public function connect($arg1,$arg2)   
 {   
$dbh = new PDO('mysql:host=localhost;dbname=monsite','root','');   
//la suite...   
}   

public function  __construct() {   
$dbh = new PDO('mysql:host=localhost;dbname=monsite','root','');   
//la suite...   
}   

} 


comment faire pour éviter cette ligne pour chaque methodes :
$dbh = new PDO('mysql:host=localhost;dbname=monsite','root','');   

autrement dit faire une connexion une seule fois de tout...

merci d'avance ^^




To Be Or Not To Be , Marwen

1 réponse

  1. dariumis Messages postés 583 Statut Membre 63
     
    Salut, il faut mettre ta variable $dbh en instance d'objet à la manière $login, et l'initialiser dans le constructeur:

    class membre {   
     private $login ;   
     private $pays ;   
     private $pass;    
     private $dbh;  
    
    
     public function  est_bloquer($log)   
        {   
               
    //la suite...   
        }   
    
    
    public function connect($arg1,$arg2)   
     {   
    //la suite...   
    }   
    
    public function  __construct() {   
    $this->dbh = new PDO('mysql:host=localhost;dbname=monsite','root','');   
    //la suite...   
    }   
    
    } 
    


    Puis tu peux la récupérer ou tu veux dans l'objet sous cette forme $this->dbh.
    0
    1. chabacha109 Messages postés 326 Statut Membre 9
       
      et oui je m'en doute...
      ^^ 1000 merci , a bientot
      0