Я пытаюсь создать новый экземпляр класса, как это:Создание нового экземпляра объекта с аргументами массива
$obj = new $class;
Я делаю это таким образом, что общий набор функций будет делать это в течение ряда классов, но теперь я реализую некоторые аргументы. Теперь, хотя функция обработчика может выглядеть следующим образом:
function newInst($argA = null, $argB = null, $argC = null)
Это было бы иметь все аргументы включены заранее и будет иметь верхний предел. Таким образом, я пытаюсь сделать что-то вроде этого:
function newInst() {
$obj = new $class(func_get_args());
...
}
, но вместо того, чтобы только первый аргумент применяется, я хотел бы, чтобы применить массив как набор аргументов. Я пробовал
function newInst() {
$obj = new $class;
call_user_func_array(array($obj, '__construct'), func_get_args());
...
}
но это вызывает функцию __construct
дважды. Итак, есть ли способ использовать аргументы вызываемой функции для создания нового экземпляра, который будет проходить через функцию или classname
во время создания экземпляра?
'новый $ класс, или' новый класс, ' –
@YogeshSuthar Это будет работать на * известный * число аргументов; Я думаю, проблема здесь в том, что аргументы неизвестны. – Dan
@Bracketworks, что правильно – topherg