我正在查看一些PHP代码,其中没有其他选项,只能在代码中使用create_function
或eval
(代码有点动态)。
无论如何,我的问题是如何在evaled
代码中使用命名空间?
有效的代码:
$code = "return \Core\Model\Permission::Something;";
create_function('$test', $code); //Works! :)
不起作用的代码:
$code = "return Permission::Something;";
create_function('$test', "use \Core\Model\Permission; " . $code); //Doesn't Work :(
ERROR: Parse error: syntax error, unexpected 'use' (T_USE)
如何修改我的代码,以便当有人在create_function(或eval)中引用Permission
类时,它会自动引用\Core\Model\Permission
类?