从PHP中的变量实例化一个类?
我知道这个问题听起来很模糊,因此我将通过一个示例来使其更加清楚:
$var = 'bar';$bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');
这就是我要做的。你会怎么做?我当然可以这样使用eval():
$var = 'bar';eval('$bar = new '.$var.'Class(\'var for __construct()\');');
但是我宁愿远离eval()。没有eval(),有没有办法做到这一点?
回答:
首先将类名放入变量中:
$classname=$var.'Class';$bar=new $classname("xyz");
这通常是您将以Factory模式包装的东西。
以上是 从PHP中的变量实例化一个类? 的全部内容, 来源链接: utcz.com/qa/401653.html