Après avoir fait le tour de pas mal de sites où je ne trouve pas vraiment ma solution, je finis par poster une question ici, car aucune idée d'une solution potentiellement correcte.
Mon problème : je souhaite gérer les langues sur un site que je suis en train de créer pour le fun.
Pour le moment j'ai peu de pages.
index.php (j'épargne le blabla html)
langue.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php session_start(); //Inclusion des langues require_once('lang/langue.php'); ?> <p><?php echo text('annonce');?></p> <?php require('includes/menu.php'); ?>
menu.php
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 <?php @session_start(); if(!isset($_SESSION[LANG])){ $_SESSION[LANG]=determiner_pays_langue(); } /** * Fonction qui renvoie la chaine de caractères de la clé donnée * @param string $cle clé du texte à renvoyer * @return string texte à renvoyer/ rien si on a rien trouvé */ function text($cle){ require($_SESSION[LANG].'.php'); return $string_lang[$cle]; } /** * Fonction qui détermine la langue à utiliser suivant le pays de l'utilisateur * @return string Langue à utiliser */ function determiner_pays_langue(){ return LANGUE_DEFAUT; } ?>
Pour l'affichage de l'annonce automatiquement suivant la langue, ça marche parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php @session_start(); ?> <div id="menu"> <ul> <li><a href="#"><span><?php texte('accueil');?></span></a></li> </ul> </div>
Par contre au moment où j'ai mis en place l'appel à la fonction "texte" dans le menu, tout part en vrille, j'ai une bonne vieille "Call undefined function".
Pourtant suivant la logique PHP, index inclue langue et inclue aussi menu, donc tout le monde connaît tout le monde. Eh bien non !!!
Ok, on va forcer l'inclusion et inclure langue.php de nouveau dans menu.php.
Or là, il me dit qu'il peut pas redéfinir la fonction "texte" ( "Cannot redeclare text()"), alors faut savoir, il la connaît ou il la connaît pas ?!?!
Du coup que faire??? J'ai l'impression de me mélanger les pinceaux au niveau de la hiérarchie des inclusions.









Répondre avec citation
Partager