我有一个函数,它根据一组记录显示一个表,只给出了记录的id。然后,该函数通过从参数数组中提取的变量调用该类。这工作得很好......
function displayTable($arr) {
...
foreach ($a['ids'] as $key => $arr)
{
$m=$a['model'];
$o = new $m($arr['id']);
...
}
}
问题是我现在在命名空间中有类,以下不起作用并抛出错误...
function displayTable($arr) {
...
foreach ($a['ids'] as $key => $arr)
{
$m=$a['model'];
$o = new \My\New\Namespace\$m($arr['id']);
...
}
}
解析错误:语法错误,意外'$ m'(T_VARIABLE),期待标识符(T_STRING)
我该如何做到这一点?
答案 0 :(得分:1)
在对象初始化之前,只需将名称空间添加到变量:
$m = '\\My\\New\\Namespace\\' . $m;