Создание объекта с передачей аргументов на подобии call_user_func_array В функции, в которую можно передать неограниченное кол-во аргументов, я могу получить их все в виде массива при помощи func_get_args. При этом, я могу вызвать другую функцию с этими же аргументами при помощи call_user_func_array.
Но я хочу создать объект, передав в его конструктор аргументы, полученные в родительской функции при помощи func_get_args. Есть идеи, как это сделать?
Спаибо

21 Авг 2019 в 07:10
178 +1
0
Ответы
1

Да, можно создать объект и передать ему аргументы, полученные с помощью func_get_args, используя функцию reflection. Вот пример кода, который показывает, как это можно сделать:

class MyClass {
public function __construct() {
$args = func_get_args();
// Здесь можно использовать аргументы для конструктора
foreach($args as $arg) {
echo $arg . "\n";
}
}
}
function createObject() {
$refClass = new ReflectionClass('MyClass');
$obj = $refClass->newInstanceArgs(func_get_args());
return $obj;
}
$obj = createObject('arg1', 'arg2', 'arg3');

В этом примере функция createObject создает объект MyClass, передавая ему аргументы, полученные функцией func_get_args.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 718 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир