PHP Closure::call()

PHP 7의 Closure::call()은 클로저 함수를 새 객체 인스턴스에 동적으로 바인딩하고 함수를 호출하여 성능이 더 좋습니다.

Instance

Instance

<?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