在Yii2中将字符串作为静态类函数运行

时间:2015-06-05 15:40:53

标签: php yii yii2

我正在接收准备好的函数作为这样的字符串:

"\app\models\AddrModel::getText('A_00001724');"

现在我需要将此字符串转换并运行为静态函数调用,以便在A_00001724 id时检索该值。

我该怎么做?

PS:当我将其称为$value = new $function;时,我得到了

Class '\app\models\AddrModel::getText('A_00001724')' not found

因为它不仅仅是上课。它是类的静态函数:/

1 个答案:

答案 0 :(得分:2)

eval()可用于在字符串中执行php代码。如果执行的代码返回值,则Eval()返回一个值。

所以,在上面的情况中:

$func = "\app\models\AddrModel::getText('A_00001724');";
$value = eval('return ' . $func);
print_r($value);