Salut à tous !
Alors voilà, je suis un peu bloqué sur mon code ...
Ai-je oublié quelque-chose ? Ou mon cerveau est-il simplement en manque de café ? Mystère...
En fait j’aimerais obliger l’implémentation d'une fonction dans une classe enfant, or ce n'est pas si simple.
Voici mon code :
il faut à tout prix que ces trois classes persistent, la suite plus bas :
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 interface MainController { public function __construct(); } abstract class AppController implements MainController { protected $variable; public function __construct() { $this->variable = 'HelloWorld!'; /* Du code ... */ echo 'AppController::__construct<br>'; } abstract function index(); } class Dashboard extends AppController { public function uhuh__construct() { parent::__construct(); /* Du code ... */ echo 'Dashboard::__construct<br>'; } public function index() { echo 'index: ' . $this->variable . '<br>'; } } $dashboard = new Dashboard(); $dashboard->index();
J'aimerais donc forcer l’implémentation du constructeur de la classe "Dashboard", or vu que cette dernière
hérite de "AppController" qui possède déjà un constructeur, cela n'a aucune effet.
De plus, je ne peux déclarer "AppController" en interface vu qu'elle possède du code.
Voilà, merci à tous pour votre aide si précieuse !
Partager