Я объясню вопрос простой функцией, принимающей любое число функций
function abc() { $args = func_get_args(); //Now lets use the first parameter in something...... In this case a simple echo echo $args[0]; //Lets remove this first parameter unset($args[0]); //Now I want to send the remaining arguments to different function, in the same way as it received .. . ...... BUT NO IDEA HOW TO . .................. //tried doing something like this, for a work around $newargs = implode(",", $args); //Call Another Function anotherFUnction($newargs); //This function is however a constructor function of a class // ^ This is regarded as one arguments, not mutliple arguments.... }
Надеюсь, теперь вопрос ясен, какова работа для этой ситуации?
Я забыл упомянуть, что следующая функция, которую я вызываю, является классом конструктора другого класса. Что-то вроде
$newclass = new class($newarguments);
для простых вызовов функций
используйте call_user_func_array , но не впадайте в args, просто передайте массив оставшихся аргументов в call_user_func_array
call_user_func_array('anotherFunction', $args);
для создания объекта
использование: ReflectionClass :: newInstanceArgs
$refClass = new ReflectionClass('yourClassName'); $obj = $refClass->newInstanceArgs($yourConstructorArgs);
или: ReflectionClass :: newinstance
$refClass = new ReflectionClass('yourClassName'); $obj = call_user_func_array(array($refClass, 'newInstance'), $yourConstructorArgs);