Bonjour,
Supposons que j'ai une table dans mon SGBD qui s'appelle location et qui comprend les champs id, code_postal, ville, environnement_id, type_id, proprietaire_id.
Comme le nom des attributs l'indique, environnement_id, type_id, proprietaire_id sont des clés étrangères vers les tables du même nom.
Environnement indique si la location est à la campagne, à la montagne, à la plage ou en ville
Type indique si la location est une maison, un appart, ou un autre type de location...
Proprietaire indique enfin l'identifiant du proprietaire.
Si je veux construire une classe Location, je mettrais ça par exemple:
1 2 3 4 5 6 7 8 9 10 11
|
class Location {
private $id;
private $code_postal;
private $ville;
private $environnement;
private $type;
private $proprietaire;
} |
Cela dit, .... quand je construis un objet de type Location, est-ce que je suis supposé faire ça:
1 2 3 4
| $environnement1 = new Environnement("campagne");
$type1 = new Type("maison");
$proprio1 = new Proprietaire("Robert", "Dupont", "France");
$location1= new Location(75000, "Paris", $environnement1, $type1, $proprio1); |
ou est ce que je devrais plutôt faire ceci:
$location2 = new Location(75000, "Paris", 2, 1, 33);
c'est à dire mettre les ids et non les instances des objets
Vous me direz peut-être que les 2 sont possibles, tout dépendant de ce que je veux faire. Moi ce que je veux c'est connaître les bonnes pratiques. Qu'est ce que l'on attend typiquement comme données dans l'attribut $proprietaire de ma classe Location. Est-ce qu'on attend plutôt un simple identifiant à la manière des clés étrangères des SGBDs ou alors est ce que l'attribut est plutôt supposé contenir une instance de Proprietaire?
Partager