Subversion Repositories Applications.framework

Rev

Rev 80 | Rev 93 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 80 Rev 89
Line 50... Line 50...
50
 
50
 
51
	/**
51
	/**
52
	 * Constructeur par défaut, appelé à l'initialisation
52
	 * Constructeur par défaut, appelé à l'initialisation
53
	 */
53
	 */
54
    final public function __construct() {
-
 
55
    	
54
    final public function __construct() {
56
    	// les différents paramètres nécessaires sont lus à partir du registre
55
    	// les différents paramètres nécessaires sont lus à partir du registre
57
    	$this->registre = Registre::getInstance();
56
    	$this->registre = Registre::getInstance();
58
    	$this->gestionnaire_erreur = GestionnaireErreur::getInstance();
57
    	$this->gestionnaire_erreur = GestionnaireErreur::getInstance();
59
    	$this->type = Config::get('bdd_protocole');
58
    	$this->type = Config::get('bdd_protocole');
60
    	$this->hote = Config::get('bdd_serveur');
59
    	$this->hote = Config::get('bdd_serveur');
61
    	$this->bdd_nom = Config::get('bdd_nom');
60
    	$this->bdd_nom = Config::get('bdd_nom');
62
    	$this->utilisateur = Config::get('bdd_utilisateur');
61
    	$this->utilisateur = Config::get('bdd_utilisateur');
Line 63... Line 62...
63
    	$this->pass = Config::get('bdd_mot_de_passe');
62
    	$this->pass = Config::get('bdd_mot_de_passe');
64
    	
-
 
65
    	$this->dsn = $this->type.':dbname='.$this->bdd_nom.';host='.$this->hote;
63
    	
Line 66... Line 64...
66
    	echo $this->dsn;
64
    	$this->dsn = $this->type.':dbname='.$this->bdd_nom.';host='.$this->hote;
67
    }
65
    }
68
    
66
    
69
    /**
67
    /**
70
     * Fonction qui appelle la bonne fonction de requete suivant le type de bdd 
68
     * Fonction qui appelle la bonne fonction de requete suivant le type de bdd 
71
     * @param string la requete à effectuer
69
     * @param string la requete à effectuer
72
     * @return PDOStatement un objet contenant le résultat de la requête
-
 
73
     */
70
     * @return PDOStatement un objet contenant le résultat de la requête
74
    final protected function requete($requete) {
71
     */
75
    	
72
    final protected function requete($requete) {
76
    	// on ne se connecte que lors du premier appel à une requete (lazy connexion)
73
    	// on ne se connecte que lors du premier appel à une requete (lazy connexion)
77
    	if($this->connexion == null) {
-
 
78
    		$this->connecter();
74
    	if ($this->connexion == null) {
79
    	}
75
    		$this->connecter();
Line 80... Line 76...
80
		
76
    	}
81
		return $this->connexion->query($requete);
77
		return $this->connexion->query($requete);
82
    }
78
    }
83
    
79
    
84
    /**
80
    /**
85
     * Connecte à la base de données en utilisant les informations fournies par 
81
     * Connecte à la base de données en utilisant les informations fournies par 
86
     * le fichier de configuration, private et final car n'a pas vocation a être appelée
82
     * le fichier de configuration, private et final car n'a pas vocation a être appelée
87
     * par l'utilisateur
-
 
88
     * @throws PDOException une exception dans le cas ou là connexion échoue
83
     * par l'utilisateur
89
     */
84
     * @throws PDOException une exception dans le cas ou là connexion échoue
90
    final private function connecter() {
85
     */
91
    	
86
    final private function connecter() {
92
    	// TODO: retirer le try catch et laisser le problème au gestionnaire d'exceptions    	
87
    	// TODO: retirer le try catch et laisser le problème au gestionnaire d'exceptions    	
93
		try {
88
		try {
94
		    $this->connexion = new PDO($this->dsn, $this->utilisateur, $this->pass);
89
		    $this->connexion = new PDO($this->dsn, $this->utilisateur, $this->pass);
Line 95... Line 90...
95
		} catch (PDOException $e) {
90
		} catch (PDOException $e) {
96
 
91
			
97
		}
92
		}
98
    }
93
    }
99
    
-
 
100
    /**
94
    
101
     * protège une chaine de caractères avant l'insertion dans la base de données  
95
    /**
102
     */
96
     * protège une chaine de caractères avant l'insertion dans la base de données  
103
    final protected function proteger($chaine) {
97
     */
104
    	
-
 
105
    	// on ne se connecte que lors du premier appel à une requete
98
    final protected function proteger($chaine) {
106
    	if($this->connexion == null) {
99
    	// on ne se connecte que lors du premier appel à une requete
Line 107... Line 100...
107
    		$this->connecter();
100
    	if ($this->connexion == null) {
108
    	}
101
    		$this->connecter();
109
    	
102
    	}
110
    	return $this->connexion->quote($chaine);
103
    	return $this->connexion->quote($chaine);
111
    }
-
 
112
    
104
    }
113
    /**
105
    
114
     * Destructeur de classe, se contente de fermer explicitement la connexion
106
    /**
115
     */
107
     * Destructeur de classe, se contente de fermer explicitement la connexion
116
    final public function __destruct() {
108
     */
117
    	
109
    final public function __destruct() {
118
    	if($this->connexion != null) { 
110
    	if ($this->connexion != null) {