Bonjour à tous ...

je suis en train de développer une appli et je m'inspire (TRÈS !!!) librement du modèle MVC.


Donc en gros l'arborescence de mon site :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
./
-- control1
-- control2
-- Vues/
-- -- -- vue1
-- -- -- vue2
dans un fichier de config (que je require_once à chaque début de contrôleur) j'ai écrit 2 fonctions pour me gérer ma navigation entre fichiers

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
 
function afficheVue($vue)
{
	if( file_exists (ROOT . 'vues/'. $vue . '.php'))
	{
		require_once ROOT . 'vues/'. $vue . '.php';
	}
        // mettre une erreur
}
 
function redirect($controleur)
{
	if( file_exists (ROOT . $controleur . '.php'))
	{
		require_once ROOT . $controleur . '.php';
	}
       // mettre une erreur
}
 
NB la constante ROOT est bonne !

donc au final dans mes controleur j'ai un code qui ressemble à ça :

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
 
$user = new AccesBase();
 
$user->login = $user->safe($_POST['zt_log']);
$user->pass = $user->safe($_POST['zt_mdp']);
 
if($user->login() == true)
	{	
		afficheVue('accueil');
	}
	else
	{	
		redirect('index');
	}

l'objet user existe sans problème ... et lorsque j'affiche ma vue avec ça dedans :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Vous êtes <?php echo $user->login ?>
on me renvoi l'erreur :
Notice: Undefined variable: user in C:\dev\bileo\vues\accueil.php on line 3

Notice: Trying to get property of non-object in C:\dev\bileo\vues\accueil.php on line 3
alors, étant donné que ça marche sans problème avec le require_once dans le code ( afficheVue('accueil') ==> require_once('vues/accueil.php") )... je voudrais savoir si c'est que je tente de faire qqch d'impossible ?