Dans le cadre d'une réécriture de code pour apprendre la POO, je me pose la question suivante : comment décidez-vous de donner telle ou telle visibilité (public, protected, private) aux propriétés et méthodes. Autant je comprends bien qu'on puisse protéger les paramètres de connexion à une base de données, autant j'ai du mal pour le restant.
Pour être plus concret, j'écris actuellement une simple classe qui va chercher des infos dans une bdd, et va les afficher par la suite:
var $data; // variable servant à l'affichage des résultats
var $message; // variable servant à l'affichage des différents message à l'intention de l'utilisateur
function resultByName($name) {
$nom = !empty($name) ? filter_var($name, FILTER_SANITIZE_STRING) : NULL;
global $PDO;
$select = $PDO->prepare('SELECT *
FROM cpte
WHERE nom LIKE :name');
$select->bindValue(':name', $nom, PDO::PARAM_STR);
try {
$select->execute();
$this->data = $select->fetch();
if (!empty($this->data)) {
$select->closeCursor();
return $this->data;
} else {
$this->message = 'Impossible d\'afficher ce compte';
}
} catch (PDOException $e) {
header('Location:'.$auth->erreurPage);
}
}
Dans cet exemple, puis-je laisser les propriétés telles quelles, ou dois-je les protéger plus (peut-être $data ?)merci,