PHP-вызов invoke с переменным числом аргументов
Возможно ли, возможно, с помощью какого-то грязного трюка, вызвать класс с помощью волшебного метода __invoke
, используя переменное число аргументов?
Я знаю, что в php 5.6 есть вариадика, но моя версия еще не существует...
Для нормального метода класса я мог бы попробовать что-то сделать, используя магический метод __call
и функцию call_user_func_array
. А как насчет волшебного метода __invoke
?
2 ответа:
Представляется возможным с помощью
func_get_args()
:Корректировка примера из docs :
<?php class CallableClass { public function __invoke() { var_dump(func_get_args()); } } $obj = new CallableClass; $obj(5, 6, 7, 8); // vary arguments to meet your needs