У меня есть функция php function function foo($bar1, $bar2, $bar3)
Есть ли возможность динамически получать имена и значения параметров ?
Я нашел func_get_args
( http://php.net/manual/de/function.func-get-args.php ), но это вернет что-то вроде
0 => "valueOf$bar1", 1=> "valueOf$bar2", 2 => "valueOf$bar3"
Вместо этого я хочу что-то вроде:
"$bar1" => "valueOf$bar1", "$bar2"=> "valueOf$bar2", "$bar3" => "valueOf$bar3"
Это возможно?
Вы можете использовать get_defined_vars
. Пример
Это может быть достигнуто, но требует больших усилий. Вам нужно будет получить имена параметров через отражение и сопоставить имена с значениями, полученными с помощью func_get_args
.
Если вам это действительно нужно, вы можете взять другой, более простой маршрут и определить, что ваша функция принимает один объект параметра :
class MyParamObj { public $foo; public $bar; } function myfunc(MyParamObj $args) { # ... }