От автора: метод PHP Closure::call() добавляется для связывания и запуска замыкания. Это намного быстрее в производительности по сравнению с bindTo в PHP 5.6.
Пример — до PHP 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php class A { private $x = 1; } // определение кода закрытия до PHP 7 $getValue = function() { return $this->x; }; // Привязываем закрытие $value = $getValue->bindTo(new A, 'A'); print($value()); ?> |
Этот код выводит в браузере следующее: 1
Пример — PHP 7+
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php class A { private $x = 1; } // Код PHP 7+, определение $value = function() { return $this->x; }; print($value->call(new A)); ?> |
Этот код выводит в браузере следующее: 1
Источник: //www.tutorialspoint.com/
Редакция: Команда webformyself.