Page 1 sur 1

Hydratation Objet

Posté : 05 déc. 2014, 17:04
par reg34080
Bonjour.

Je souhaite créer une classe dans la quelle j'ai ma connexion à ma base de donnée et un fichier config pour hydrater les attributs de connexion.

Fichier Config

Code : Tout sélectionner

$bdd_host = 'xxx'; $bdd_port = '3306'; $bdd_login = 'xxx'; $bdd_name = 'xxx'; $bdd_pass = 'xxx';
Classe

Code : Tout sélectionner

class Blog extends PDO { private $_bdd; private $_bdd_host; private $_bdd_port; private $_bdd_login; private $_bdd_name; private $_bdd_pass; private $_bdd_option; public function __construct() { require_once($_SERVER['DOCUMENT_ROOT'].'/admin/config.php'); $this->_bdd_host = $bdd_host; $this->_bdd_port = $bdd_port; $this->_bdd_login = $bdd_login; $this->_bdd_name = $bdd_name; $this->_bdd_pass = $bdd_pass; try { echo $bdd = new PDO('mysql:host='.$this->_bdd_host.';port='.$this->_bdd_port.';dbname='.$this->_bdd_login, $this->_bdd_name, $this->_bdd_pass, $this->_bdd_option); } catch(Exception $e) { exit('Erreur : '. $e->getMessage()); } $reponse = $bdd->query('SELECT * FROM tab_ndd_name'); while ($donnees = $reponse->fetch()) }
Mais cela ne marche pas...

Re: Hydratation Objet

Posté : 05 déc. 2014, 22:18
par Genova
Rajoute
global $bdd_host, $bdd_port, $bdd_login, $bdd_name, $bdd_pass;
avant ton require.

Mais tu devrais utiliser des constantes plutôt que des variables.

Re: Hydratation Objet

Posté : 06 déc. 2014, 13:02
par Invité
Merci effectivement je vas regarder pour utiliser des constantes merci

Que pensez vous de la méthode JSON

Re: Hydratation Objet

Posté : 06 déc. 2014, 16:04
par Invité
je regarde actuellement plusieurs tuto et livres pour réaliser un site et me connecter à une base de donnée.

* Beaucoup de tuto créent une classe connexion (avec attributs host, port, name, pass inclus dans la classe) + des classes pour déférentes actions

* J'ai un livre ou ils réalise une seule classe connexion (avec attributs host, port, name, pass inclus dans la classe) toutes les actions sont dans cette classe unique.

* Quelques tuto créent une classe connexion, mais avec un fichier config externe pour les variables : host, port, name, pass (mais souvent ne donnent pas la méthode pour les inclures, considèrent que cela n'est pas l'objet du tuto).

Faut-il mieux :

1°) Une classe utilisateur globale (avec connection à la base) + une classe administrateur globale(avec connection à la base)
OU une classe connexion (spécifique) + DES classes utlisateurs pour chaques actions + DES classes administrateur pour chaques actions


2°) Avec un fichier config externe faut-il mieux définir host, port, name, pass, comme des variables ou comme des constantes (niveau sécurité et portabilité dans les classes action) ????