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