Bonjour,
Donc nous savons qu'un fichier inclu (include()) dans une fonction s'exécutera dans l'environnement de variable de celle-ci... (seule les variables locales à la fonction seront disponibles)
En fait j'écris une classe qui m'inclut des formulaires et autres interfaces d'admin en fonction du niveau de l'utilisateur, que j'appelle comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
session->inclure( $path , $level) //où $level correspond au niveau requis. Ex: $level = 2: user de niveau 2 et+ aura le formulaire mais pas le 1
l'intérêt est de pouvoir inclure des modules à la volée en une seule ligne, visibles et utilisables uniquement par les users de niveaux authorisés...
bref, la seule méthode que j'ai trouvé est sur le manuel php, avec ob:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 ob_start();
        include $filename;
        $contents = ob_get_contents();
        ob_end_clean();
        return $contents;
sauf que je ne peux pas mettre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print($session->inclure( $path , $level) )
et avec eval(), ça ne semble pas fonctionner non plus:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
eval($session->inclure( $path , $level ) ) //il ne voit apparemment pas les variables globales
merci d'avance...