我注意到,如果我们希望运行某个回调函数,我可以使用Closure
或Callable
作为类型提示.例如:
function callFunc1(Closure $closure) {
$closure();
}
function callFunc2(Callable $callback) {
$callback();
}
$function = function() {
echo 'Hello, World!';
};
callFunc1($function); // Hello, World!
callFunc2($function); // Hello, World!
问题:
这里有什么不同?换句话说,什么时候使用Closure
,什么时候使用Callable
,或者它们服务于相同的目的?