I was wondering if someone may know an alternative to the PHP 5.6.x and higher ...
operator (or splat operator I believe its called).
What i\'m currently do
Though the splat operator ...
is similar to call_user_func_array()
:
call_user_func_array(array($this,'callAction'),
explode('@', $this->routes["authControllers"][$this->routes["uri"][$uri]]));
I think it would make more sense to pass the required arguments:
list($controller, $action) = explode('@', $this->routes["authControllers"][$this->routes["uri"][$uri]]);
$this->callAction($controller, $action);
i think the equivalent PHP5 code would be call_user_func_array(array($this,'callAction'),(explode('@', $this->routes["authControllers"][$this->routes["uri"][$uri]])));
edit: but if the callAction always takes exactly 2 arguments, you could just do
$args=explode('@',$this->routes["authControllers"][$this->routes["uri"][$uri]]));
$this->callAction($args[0],$args[1]);
but if thats the case, idk why the php7 code bothers with the ...
at all, i thought that was for variable number of arguments? (like call_user_func_array is for. for an example of a function that takes a variable number of arguments, see var_dump
)