2013-02-16 2 views
0

Можно ли сделать следующее в одной строке? Например, что-то вроде $obj=new "entry_{$type}"; СпасибоСоздать новый класс из добавленной строки

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

Ответ № –

+0

http://stackoverflow.com/questions/534159/instantiate-a-class-from-a-variable-in-php – BenOfTheNorth

+4

И, конечно, это так важно для того, чтобы код сводился к одному по возможности, –

ответ

4

Да, но только если вы действительно хотите. Это немного неудобно:

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

От: Code-Golf: one line PHP syntax

PHP хочет в конечном счете move to a proper parser, который использует абстрактное синтаксическое дерево, которое может затянуть до синтаксических отверстия, которые в настоящее время мешают, например, new ("entry_$type")() или что-то в этом роде.

+0

Эгады! Он отвечает на вопрос, но я обязательно останусь с двумя линиями! – user1032531

Смежные вопросы