Метод Closure :: call () добавлен как сокращенный способ временно привязать область объекта к замыканию и вызвать его. Это намного быстрее по сравнению с bindTo в PHP 5.6.
Пример — до PHP 7
<?php class A { private $x = 1; } // Define a closure Pre PHP 7 code $getValue = function() { return $this->x; }; // Bind a clousure $value = $getValue->bindTo(new A, 'A'); print($value()); ?>
Это производит следующий вывод браузера —
1
Пример — PHP 7+
<?php class A { private $x = 1; } // PHP 7+ code, Define $value = function() { return $this->x; }; print($value->call(new A)); ?>
Это производит следующий вывод браузера —