|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Une fonction contient un include_once('fichier.php');
Je désire que les variables contenues dans cet include (et donc le include) ne soient plus connues lors de la sortie de la fonction PHP. En fait, le fichier appelé par l'include contient des variables de même nom qu'un autre include appelé plus tard, donc il y a des erreurs dans l'exécution du script. Pourtant, il est important que les noms soient les mêmes car elles sont appelées suivant le contexte à partir d'un include ou d'un autre (dictionnaire). Comment faire ? Merci. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Si ces variables sont utilisées dans une fonction, pas de problème : elle n'ont par défaut qu'une portée locale.
|
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Il te reste la possibilité d'initialiser toutes les variables en début (ou en fin) de chaque script inclus. Comme ça, plus de problème de collisions entre variables.
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Bien sûr, c'est une solution, mais pas la meilleure.
![]() Merci. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Tu en connais une autre ?
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Citation:
En fait, je ne m'arrête jamais à la première solution trouvée, et j'essaie toujours de trouver LA MEILLEURE solution à mon problème. A+ |
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
C'est une bonne pratique
|
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 |
|
Membre émérite
![]() Inscription : juin 2002 Messages : 1 013 ![]() |
je ne sais pas si cela t'aide, mais comme dit précédemment, dans une fonction, elles restent locales.
comme tu fais un include dans plusieurs fichiers, et tant qu'à modifier ton code, peut-être as-tu intérêt à changer ton include par une fonction. Cela dépend du nombre de variables que tu désires rester locales et du nombre de variables que tu souhaites partager avec la fichier appelant |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : septembre 2002 Messages : 1 638 ![]() |
Pour cette fois, j'ai re-déclaré mes variables en local.
La prochaine fois, j'utiliserais l'objet pour éviter cela. Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com