@dk-web

Как получить (использовать) массив параметров call_user_func_array?

Все же вернусь к одному вопросу..

В точке входа index.php я запускаю класс приложения...
$app=new App();
в классе App в конструкторе
public function __construct (){
...
call_user_func_array([$this->controller,$this->method],$this->params);
}


адрес:
localhost/myproj/map(контроллер)/lal(метод)/foo(параметр_1)/bar(параметр_2)
В контроллере, пример:
public function lal($param1=NULL,$param2) {
    echo $param1; //foo
    echo $param2; //bar
  }


А можно ли все параметры получить массивом? Или единственный способ это передавать в конструктор контроллера при создании его экземпляра?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Ответ написан
Комментировать
Ivanq
@Ivanq
Знаю php, js, html, css
func_get_args()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@shagguboy
https://wiki.php.net/rfc/argument_unpacking

n PHP 5.6 and later, argument lists may include the ... token to denote that the function
accepts a variable number of arguments. The arguments will be passed into the given variable as an array; for example:

Example #13 Using ... to access variable arguments
<?php
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}

echo sum(1, 2, 3, 4);
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы