Closure::call()

Posted 迷失在路上

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Closure::call()相关的知识,希望对你有一定的参考价值。

php7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
class A { 
    private $x = 1; 
 
//PHP7 之前版本定义闭包函数代码 
$getXCB = function() { 
    return $this->x; 
}; 
 
// 闭包函数绑定到类 A 上 
$getX = $getXCB->bindTo(new A, ‘A‘);  
echo $getX(); 
print(PHP_EOL); 
 
// PHP7+ 代码 
$getX = function() { 
    return $this->x; 
}; 
echo $getX->call(new A); 
?>

以上程序执行输出结果为:

1
2
1
1

以上是关于Closure::call()的主要内容,如果未能解决你的问题,请参考以下文章

Closure call with mismatched arguments: function ‘routes.<anonymous closure>‘

Closure call with mismatched arguments: function ‘routes.<anonymous closure>‘

php7新特性

Groovy04_闭包

php7有哪些新特性

php7和php5区别