В PHP 5 могу ли я динамически создавать экземпляр класса?

Можно ли динамически создавать экземпляр класса с помощью переменной? Например, возможно ли что-то подобное в PHP?

class foo
{
    public $something;
}

$class_name = "foo";

$f = new $class_name();

person Bijou Trouvaille    schedule 24.06.2010    source источник
comment
Я не согласен, что это не настоящий вопрос. Во-первых, это грамматически реальный вопрос, во-вторых, он имеет определенный ответ с возможностью уточнения, в-третьих, легко сказать, о чем спрашивается, о чем свидетельствует тот факт, что все ответы по существу одинаковы. Хотя это правда, что мой первый вопрос о SO был своего рода ошибкой, тем не менее тем, кто не может случайным образом угадать правильный синтаксис с первой попытки, будет полезен четкий и доступный для поиска пост по этому вопросу.   -  person Bijou Trouvaille    schedule 04.12.2013


Ответы (4)


Это должно сработать, да.

Вы также можете сделать:

$f = new $class($arg1,$arg2);
person Chris Kloberdanz    schedule 24.06.2010

Да, этот код будет работать нормально.

person timdev    schedule 24.06.2010

В PHP 5 могу ли я динамически создавать экземпляр класса?

Да можно, ваш код должен работать нормально.

person Sarfraz    schedule 24.06.2010

Да, конечно, вы можете создавать экземпляры, используя динамические имена;

person BlueBird    schedule 24.06.2010