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:
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:
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
print($session->inclure( $path , $level) )
et avec eval(), ça ne semble pas fonctionner non plus:
eval($session->inclure( $path , $level ) ) //il ne voit apparemment pas les variables globales
merci d'avance...
Partager