Bonjour,
Je commence la programmation orientée objet en PHP avec utilisation d'une base de données. Cependant, je ne sais pas si ma manière d'aborder le problème est correcte en ce qui concerne la façon de gérer les échanges avec la base de données.
Je vais prendre un exemple simplifié volontairement.
Ma base de données :
Article(id, titre, contenu)
Ma classe :
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
| class Article
{
private $id;
private $titre;
private $contenu;
function __construct($id)
{
// je construis mon objet en faisant une requête dans ma base de données
// puis en affectant les résultats de la requête aux champs de mon objet
$this->id = $id;
$this->titre = $mesDonnes->titre;
$this->contenu = $mesDonnees->contenu;
}
/* accesseurs */
/* mutateurs */
public miseAJourSql()
{
// mise à jour de mon objet dans la base de données en fonction de la valeur des attributs de l'objet instancié
mysql_query('UPDATE article SET titre="'.$this->titre.'", contenu="'.$this->contenu.'" WHERE id='.$this->id);
}
/* Méthodes statiques */
public static function supprimerSql($unId)
{
// suppression de l'id passé en paramètre dans ma base de données
}
public static function getLesArticles()
{
// effectue une requête dans la base de données
// puis retourne une collection d'articles
}
} |
Pour la suppression ou la liste d'artilces, j'utilise une méthode statique vu qu'il n'est pas nécessaire d'instancier d'objet.
Ce mode de fonctionnement est-il "correct", mauvais ou à améliorer ?
Avez-vous de meilleures façon de faire à me conseiller ?
Merci d'avance pour votre aide
Partager