在分析Laravel
事件部分源码时,发现了一个平时很少用到的用法,一个数组中第一个元素是类实例,第二个是类方法,直接把此数组当做闭包调用,当时就蒙蔽了,类似于下面这样:
class Test
{
function testFunc($v1, $v2)
{
dump($v1, $v2);
return $v1 . "-" . $v2;
}
}
$a = [
new Test(),
'testFunc'
];
$a(1, 2);
于是乎,就去查文档发现PHP的callable
类型竟然有这么多种:
附参考链接:
https://www.php.net/manual/zh/language.types.callable.php#118032