2015-04-17 16 views
5

böyle eval() işlevini kullanmaya çalışıyorum:Tanımsız fonksiyon eval() - PHP

$foo = 'eval'; 
$bar = 'echo 1;'; 
$foo($bar); 

Ama bir hata alıyorum: Önemli hata: (tanımsız işlev eval çağır)

aşağıdaki kod bu konuda

$foo = 'base64_encode'; 
$bar = 'foobar'; 
echo $foo($bar); 

Can kimse yardım çalışıyor çünkü garip

? eval documentation itibaren

+1

hissediyorum! – adeneo

cevap

9

:

Note: Because this is a language construct and not a function, it cannot be called using variable functions .

da bulacaksınız notta linke ardından: o kötülük çünkü

Variable functions won't work with language constructs such as echo , print , unset() , isset() , empty() , include , require and the like. Utilize wrapper functions to make use of any of these constructs as variable functions.

+1

@ficuscr "eval" için son derece pratik ve kullanışlı kullanımlar olabilir. Sorun, istismara uğradığıdır. – Anonymous

+0

Kibirli bir şekilde katılıyorum ... Her ne kadar az ve çok uzak olsalar da. Ve bu şekilde değil - değişken işlevinin okunabilirlik için iyi olmadığından emin olun. 'Goto' için daha geçerli kullanım örnekleri gördük ... – ficuscr