Bonsoir,
Je me pose plusieurs questions.
Imaginons trois classes.
La classe A dépend de la classe B qui dépend de la classe C qui dépend de la classe A.
Est-qu'il vaut mieux initialiser les classes dans les constructeurs, dans le pramarètre passé au constructeur, d'utilisé un setter ??
Est-qu'il peux arriver une sorte de récursion dans les objets ?
Exemple
ou bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class A { private $var ; public function __construct(B $b) { } } class B { private $var ; public function __construct(C $c) { } } class C { private $var ; public function __construct(A $a) { } }
Ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 class A { private $var ; public function __construct() { $this->var = new B() ; } } class B { private $var ; public function __construct() { $this->var = new C() ; } } class C { private $var ; public function __construct() { $this->var = new A() ; } }
Par exemple si la classe A est un User, la classe B un Panier et la classe C un Produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 class A { private $var ; public function __construct() { } public function setC(B $b) { $this->var = $b ; } } class B { private $var ; public function __construct() { } public function setC(C $c) { $this->var = $c ; } } class C { private $var ; public function __construct() { } public function setA(A $a) { $this->var = $a ; } }
Je veux être en mesure depuis un User de consulter le contenu du panier qui sera une métohde sowContenu() du panier mais appeler du genre :
Et c'est à ce moment où je me demande comment récupérer cette méthode.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $user = new User() ; $user->showContenu() ;
De même imaginons que la classe C soit des produits dans mon showPanier(), je veux récupérer la description de mes produits qui sera possible avec un getDescription() qui est une méthode de la classe Produit.
Et on peux très bien envisager une méthode de User qui est besoin d'un objet Article.
Et voila le serpent qui se mort la queue non ??
Qu'en pensez vous ?
Un retour d'expérience sur des projet mettant en relation de nombreuses classes serait le bienvenue.
Très bonne soirée à tous.
Fluxy__
Partager