Bonjour,

Débutant en php , je me heurte à une énigme. J'ai trois morceaux de code en php inclus les uns dans les autres :
- une page web web.php, qui fait appelle à...
- ... une page de fonction fonction.php, qui tire ses variables de...
- ... une page de configuration config.php.

Dans web.php, je mets donc un require_once('fonction.php'), dans lequel à son tour se trouve require_once('config.php'). La boucle est bouclée.

Bizarrement, je peux récupérer la valeur de mes variables définies dans le fichier config.php dans web.php, MAIS PAS dans fonction.php !!

Voici un exemple composé de mes trois fichiers :

web.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
	require_once('fonction.php') ;
	test() ;
	echo "<p>Résultat variable : ".$test."</p>" ;
?>
fonction.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
	require_once('config.php') ;
	function test() {
		echo "<p>Résultat fonction :".$test."</p>" ;
	}
?>
config.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php
	$test = "test" ;
?>
Ce qui me donne le résultat suivant :

Résultat fonction :

Résultat variable : test
J'ai dû louper quelque chose... de simple, a priori. Mais quoi ? Merci à / aux personne(s) qui m'aident à expliquer ce phénomène.