从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

回到顶部