我正在接收准备好的函数作为这样的字符串:
"\app\models\AddrModel::getText('A_00001724');"
现在我需要将此字符串转换并运行为静态函数调用,以便在A_00001724
id时检索该值。
我该怎么做?
PS:当我将其称为$value = new $function;
时,我得到了
Class '\app\models\AddrModel::getText('A_00001724')' not found
因为它不仅仅是上课。它是类的静态函数:/
答案 0 :(得分:2)
eval()可用于在字符串中执行php代码。如果执行的代码返回值,则Eval()返回一个值。
所以,在上面的情况中:
$func = "\app\models\AddrModel::getText('A_00001724');";
$value = eval('return ' . $func);
print_r($value);