Bonjour,
Je me suis intéressé que très récemment à la POO et je me retrouve devant une interrogation qui, malgré mes recherches, m'apparait encore assez obscure.
J'utilise par exemple une page accesDAO.php qui va contenir ceci (en gros) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <?php
class AccesDAO
{
/**
* Recherche par id
* @param id_acces l'id de l'acces
* @return l'objet Acces correspondant
*/
function rechercheAccesParId($id_acces) {
try
{
$bdd = new PDO('mysql:host=localhost;dbname=name_DB', 'root', 'password');
$bdd->exec('SET NAMES utf8');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
...suite de la methode...
}
/**
* Recuperation de la liste des acces configurés
* @return List
*/
public function getListeAcces() {
try
{
$bdd = new PDO('mysql:host=localhost;dbname=name_DB', 'root', 'password');
$bdd->exec('SET NAMES utf8');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
...suite de la methode....
}
?> |
J'ai 2 questions dans mon exemple : la première est de savoir si la déclaration de l'attribut avant la méthode est obligatoire/vital/facultatif... J'ai lu un peu tout et n'importe quoi et surtout, des choses qui se contredisent.
Alors plutôt en :
public function getListeAcces() {
ou simplement :
function getListeAcces() {
suffit.
Merci d'éclairer ma lanterne.
Et mon gros point noir vient dans l'accès à la DB en elle-même. Je trouve "très moche" de déclarer, pour chaque méthode de la class, les paramètres de connexion.
N'existe-t-il donc pas, un genre de "super variable" qui pourrait contenir ceci :
1 2 3 4 5 6 7 8 9
| try
{
$bdd = new PDO('mysql:host=localhost;dbname=name_DB', 'root', 'password');
$bdd->exec('SET NAMES utf8');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
} |
et que je rappellerais à chaque fois. Ce serait beaucoup plus propre et permettrait de ne pas avoir "x" modifications à effectuer en cas de changement des paramètres de la DB.
Alors excusez moi par avance si ces questions vous semblent un peu idiotes mais en ce moment, elles retardent un peu l'avancée de mon projet car je n'ose trop poursuivre en restant dans le noir.
Merci de votre aide donc
Partager