PHP Closure パラメータの型情報を推測できる可能性はありますか? 次の例を検討してください。
<?php
$foo = function(array $args)
{
echo $args['a'] . ' ' . $args['b'];
};
$bar = function($a, $b)
{
echo $a . ' ' . $b;
};
$closure = /* some condition */ $foo : $bar;
if(/* $closure accepts array? */)
{
call_user_func($closure, ['a' => 5, 'b' => 10]);
}
else
{
call_user_func($closure, 5, 10);
}
?>
ディスパッチャーに登録されるクロージャーを定義するのにどちらの方法が適しているかをユーザーが決定できるように、ユーザーにある程度の自由を残したいと思います-連想配列のパラメーターを受け入れるか、クロージャーパラメーターとして直接受け入れるか。したがって、ディスパッチャーは、渡された Closure のパラメーターを推測して、この Closure をどの方法で呼び出すかを決定する必要があります。何か案は?