关键字“callable”在PHP中的作用

更确切地说,是函数声明参数中使用的“可调用”。如下图所示。

function post($pattern, callable $handler) {
    $this->routes['post'][$pattern] = $handler;
    return $this;
}

它如何使我们受益?

我们为什么以及如何使用它?

也许这对你来说是非常基本的,但是,我尝试过搜索它,但我没有得到任何答案。至少,我什么都看不懂。

希望得到一个傻瓜的答案。我是编码新手...鑫源

编辑:这是一个链接,我从哪里复制了上面的代码:链接


答案 1

该类型允许我们将回调函数传递给正在调用的函数。也就是说,回调函数参数允许被调用的函数动态调用我们在函数参数中指定的代码。这很有用,因为它允许我们将要执行的动态代码传递给函数。callablecallable

例如,人们可能想要调用一个函数,并且该函数接受一个名为 的回调函数,该函数将以您想要的自定义方式记录数据。log

我希望这是有道理的。有关详细信息,请参阅此链接


答案 2

这是一个类型提示,告诉我们这个函数接受参数作为函数,请参阅此示例以澄清事情:$handler

function helloWorld()
{
   echo 'Hello World!';
}
function handle(callable $fn)
{
   $fn(); // We know the parameter is callable then we execute the function.
}

handle('helloWorld'); // Outputs: Hello World!

这是一个非常简单的例子,但我希望它能帮助你理解这个想法。


推荐