Bonsoir,
j'ai une application MVC et mon contrôleur récupère des données du modèle, et doit les transmettre à une vue pour les afficher. C'est là que ça coince. En effet, je ne transmets qu'un tableau vide et ne vois pas comment faire. Voici mon code actuel :
le contrôleur :
Code php : 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 class LDispInfoBySelect { public $sesaid; //j'avais mis les attributs en private puis ai essayé de les mettre en public, mais ça ne résoud rien public $appli_key; public $currently_active; etc public function invoke() { //lire table license (model) $info_licenses=new LSelectInBDD(); $info=$info_licenses->getInfoLicense($sesa); //le tableau $info est le retour d'un FetchAll $this->appli_key=$info[0]['application_key']; $this->currently_active=$info[0]['currently_active']; etc } public function send_data_to_display():array { return(['sesaid'=>$this->sesaid, 'platform'=>$this->platform, etc ]);
puis la vue :
Le souci est que dans la méthode de la vue LDispInfoBySelect, la variable $data_to_display est vide. Où est l'erreur, SVP ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class License { private $LDispInfoBySelect; public function LDispInfoBySelect() { $this->LDispInfoBySelect=new LDispInfoBySelect(); $data_to_display=($this->LDispInfoBySelect)->send_data_to_display(); etc }
- PS1 : les classes sont bien trouvées. Y a un autoloader et je fais des use
- PS2 : dans la méthode invoke du contrôleur, la variable $this existe bien mais dans la méthode send_data_to_display, non. Pourquoi ?
Partager