PHP Closure::call()

PHP 7 新特性

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

实例

实例

<?php
class {
    private 
$x 1;
}

// PHP 7 之前版本定义闭包函数代码
$getXCB = function() {
    return 
$this->x;
};

// 闭包函数绑定到类 A 上
$getX $getXCB->bindTo(new A'A'); 

echo 
$getX();
print(
PHP_EOL);

// PHP 7+ 代码
$getX = function() {
    return 
$this->x;
};
echo 
$getX->call(new A);
?>

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

1
1

PHP 7 新特性