bonjour,
je me frotte à un problème avec la POO.
Le problème se situe au moment de passer du modèle à l'implémentation :
prenons l'exemple de d'un videothèque.
il y les objets films, acteurs, realisateur
la base de données contient une table pour chacun avec :
- la table film contient l'id d'un realisateur en plus de son id, son titre,etc...
- un table de relation entre les films et les acteurs
En PHP5, je crée les classes film, acteur, realisateur.
C'est là que j'hésite :
ma logique en POO me dirais de mettre comme donnée membre au film :
- un entier id
- une chaine titre
- un objet de type réalisateur
- un tableau d'objet de type acteur
en fonction membre les accesseurs et :
- une fonction d'insertion en base de donnée de l'objet film
- une fonction de classe de selection des films dans la base de données
Le problème est que dans cette fonction de sélection il va me falloir également créer les instances acteurs et realisateur qui seront contenus dans le film et donc dans les requetes sql selectionner les champs des tables acteurs et realisateurs.
Et si on modifie la classe acteur, il faudra donc changer la classe film.
Le mieux serait peut être de ne mettre dans un objet film que les id des acteurs et realisateur ce qui permet de garder un indépendance en cas de modification d'une des classes. Mais en terme de modelisation ça me semble étrange.
comment faites vous dans votre implémentation?