2013-02-16 51 views
0

是否可以在一行中执行以下操作?例如,像$obj=new "entry_{$type}";谢谢从附加字符串创建新类

$class="entry_{$type}"; 
$obj=new $class(); 
+0

答案是NO – 2013-02-16 18:23:24

+0

http://stackoverflow.com/questions/534159/instantiate-a-class-from-a-variable-in-php – BenOfTheNorth 2013-02-16 18:28:00

+4

当然,它是如此重要的代码被缩减为一个单一的尽可能在线 – 2013-02-16 18:32:16

回答

4

是的,但只有当你真的想要它。这是一个有点尴尬:

$obj = new ${!${''}="entry_$type"}(); 

来源:Code-Golf: one line PHP syntax

PHP希望最终move to a proper parser使用抽象语法树,这可能会收紧,目前防止语法孔,例如,new ("entry_$type")()或类似的东西。

+0

Egads!它回答了这个问题,但我肯定会留在两行! – user1032531 2013-02-16 18:36:47