Bonjour,
en procédural, je faisais include_once dirname(__DIR__)."\language.".$lang.".inc.php"; et donc selon la valeur de $lang, le tableau $str avait des valeurs traduites dans la bonne langue (par exemple $str['home'] valait 'Accueil' en fr et 'Home' en english).
Voici ce que j'ai essayé en POO :
class_lang.php :
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 <?php namespace _classes; class class_lang { public $str; public $lang; public function __construct() {} public function init_lang() { switch ($this->lang){ case 'fr': $this->str['home']='Accueil'; break; case 'en': $this->str['home']='Home'; break; } } } ?>
index.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 use _classes\squelette; use _classes\class_lang; $footer = new squelette(); $lang = new class_lang(); $this->lang='fr'; $lang->init_lang(); $footer->disp_footer();
La classe squelette contient notamment $footer (la propriété a le même nom que l'objet)
etLa ligne 12 de index.php est ici la 6.Fatal error: Uncaught Error: Using $this when not in object context in C:\wamp64\www\eis32_oo\index.php on line 12
Qu'est-ce qui ne va pas ?







Répondre avec citation



Partager