8795 sujets

Développement web côté serveur, CMS

Bonjour,

Je bloque sur un petit problème.

J'ai une variable :
$extra = "USER_acces_module";

et une fonction :
function USER_acces_module(){
// diverses instructions
return $str;
}


Je souhaite executer la fonction à partir de la variable $extra mais cela ne marche pas.

J'ai essayé avec :
echo $str = eval($extra);

En vain :
Parse error: parse error in g:\_easyphp1-8\www\backoffice_ini\cms\include\ini.php(333) : eval()'d code on line 1

Merci de votre aide.



Edit:
call_user_func à utiliser.
Modifié par crazymickey (31 Aug 2006 - 14:23)
Bonjour,

Pour ton problème, c'est facile, il faut "évaluer" toute ton instruction. En bref, il faut remplacer
echo $str = eval($extra);
par
eval('echo $str = '.$extra.'();');
Autre solution que tu sembles avoir déjà trouvé, si j'en crois ton "edit" :
echo $str = call_user_func($extra);

Modifié par 84mickael (31 Aug 2006 - 15:11)
J'ai encore plus court qu'eval et call_user_func :

Tout simplement : $variable();

En tout cas ça marche avec le php inclus dans easyphp 1.7
Modifié par QuentinC (31 Aug 2006 - 18:16)