Что я хочу сделать
Я хочу проверить замыкание (переданное как переменную), чтобы определить, сколько аргументов он ожидает.По сути, я хочу перегрузить замыкание в традиционном смысле, только трактуя его по-другому.
function someMethod(Closure $callback) {
$varA;
$varB;
$varC;
if($callback->getNumArgs() == 3) {
$callback($varA, $varB, $varC);
}
else {
$callback($varC, $varA);
}
}
Если это можно объяснить лучше, пожалуйста, дайте мне знать, чтобы его можно было редактировать.
Справочная информация
В зависимости от того, сколько аргументов принимает закрытие, я скорректирую способ его вызова.Мне нужно сделать это, чтобы сохранить дорогие итерации в цикле.
Обратите внимание:
- Я использую PHP5.3
- В качестве напоминания, яне хотят выполнять функцию и поэтому не могут использовать
func_num_args