运行 Yii2 中的静态字符串 class 函数

Run string as static class function in Yii2

我正在接收像这样的字符串形式的准备函数:

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

现在我需要转换 运行 这个字符串作为静态函数调用,以检索 A_00001724 id 的值。

我该怎么做?

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

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

因为它不仅仅是 class。它是 class 的静态函数:/

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

所以,在上面的例子中:

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