is_callable и семейство функций call_user_func correctly нормально работают с замыканиями Closure (PHP 5.3) точно так же как с анонимными функциями. Простые тесты:
<?php function is_callable_test(Closure $func=null){ if (is_callable($func)){ $func(); }else{ echo 'uncaleble', "\n"; } } function call_user_func_test($func=null){ if (is_callable($func)){ call_user_func($func, ' second test'); }else{ echo 'uncaleble', "\n"; } } $win_text = 'is_callable function work correctly!'; is_callable_test(function () use ($win_text){ echo $win_text, "\n"; }); $win_text = 'call_user_func work correctly!'; call_user_func_test(function ($num) use ($win_text){ echo $win_text,' ', $num, "\n"; }); ?>
