运行 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);
我正在接收像这样的字符串形式的准备函数:
"\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);