PHP7新特性系列
1. PHP7新特性之一【类型声明】 2. PHP7新特性之二 【NULL 值双问号运算符】 3. PHP 7新特性之三【大于等于小于组合比较符】 4. PHP 7新特性之四【 常量数组】 5. PHP7新特性之五【可以创建匿名类】 6. PHP7新特性之六【call 闭包调用】 7. PHP7新特性之七【国家化支持】 8. PHP7新特性之八【Error异常】

PHP7新特性之六【call 闭包调用】

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

实例

实例

<?php
class A {
    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