Названного действительно явные, но я собираюсь дать пример:Создать экземпляр класса на основе строки для имени и массива параметров
class Foo
{
public function __construct($param1, $param2) {
echo 'Class name: ' . __CLASS__ . "\n" .
'param1 = ' . $param1 . "\n" .
'param2 = ' . $param2;
}
}
$class_name = 'Foo';
$params =
[
'content1',
'content2'
];
Имея этот код, как я могу создать экземпляр Foo
, используя параметры в $params
.
Я знаю, что могу сделать
$class = new $class_name($params);
Но это будет передавать параметры, как один массив, я хотел бы, чтобы расширить параметры. Следующее было бы поведением, которое я бы хотел:
$class = new $class_name($param[0], $param[1]);
Спасибо!
Другие, чем послать ответ, что-нибудь еще будет _hack_ , Вы либо хотите 2 аргумента, либо хотите массив аргументов. – AbraCadaver