Bonjour tout le monde,
J'ai un problème avec ces classes, j'ai isolé le problème mais j'ai pas réussi à le régler en bidouillant et j'ai rien trouvé sur google.
Le code php en simplifié:
Alors le problème c'est que dans $parametre1 de C il y a 'C'. J'ai fini par comprendre qu'il se réfère au $parametre1 de A. Alors problème de conception (du genre j'aurai jamais dû en arriver a faire ça) ou y a t-il une astuce?
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 { protected $attribut1; protected $attribut2; public function __construct($parametre1, $parametre2 = false) { $this->attribut1 = $parametre1; $this->attribut2 = $parametre2; } } abstract class B extends A { protected $attribut3; public function __construct() { $this->attribut3 = 'blabla'; } } class C extends B { protected $attribut4; public function __construct($parametre1 = 'truc_par_defaut') { $this->attribut1 = 'truc'; $this->attrbut2 = true; $this->attribut4 = $parametre1; } }
J'ai essayé:
mais aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class C extends B { protected $attribut4; public function __construct($hoho, $parametre1 = 'truc_par_defaut') { $this->attribut1 = 'truc'; $this->attribut2 = true; $this->attribut4 = $parametre1; } }
mais encore:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class C extends B { protected $attribut4; public function __construct($hoho, $parametre1 = 'truc_par_defaut') { A::__construct('truc',true); $this->attribut4 = $parametre1; } }
Je sens bien que ca me dépasse. A l'aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class C extends B { protected $attribut4; public function __construct($parametre1 = 'truc_par_defaut') { A::__construct('truc',true); $this->attribut4 = $parametre1; } }![]()
Partager