[关闭]
@Chiang 2020-02-17T12:36:56.000000Z 字数 361 阅读 590

PHP Closure::call()

PHP7新特性 2020-02


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

  1. <?php
  2. class A {
  3. private $x = 1;
  4. }
  5. // PHP 7 之前版本定义闭包函数代码
  6. $getXCB = function() {
  7. return $this->x;
  8. };
  9. // 闭包函数绑定到类 A 上
  10. $getX = $getXCB->bindTo(new A, 'A');
  11. echo $getX();
  12. print(PHP_EOL);
  13. // PHP 7+ 代码
  14. $getX = function() {
  15. return $this->x;
  16. };
  17. echo $getX->call(new A);
  18. ?>
  19. 以上程序执行输出结果为:
  20. 1
  21. 1

参考资料:
PHP Closure::call()

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注