PHP7中Closure :: call使用示例

2019-05-13 14:57 更新

  • Closure :: call - 綁定并調(diào)用閉包
  • Closure :: bind - 使用特定的綁定對象和類范圍復制一個閉包

與 PHP5.6 的 bindTo 相比,PHP7 中的 Closure :: call()方法具有更好的性能,該方法被添加為臨時將對象范圍綁定到閉包并調(diào)用它。

較早的 PHP 示例:

<?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());
?>

它產(chǎn)生以下瀏覽器輸出:

1

PHP7 及以上版本示例:

<?php
   class A {
      private $x = 1;
   }

   // PHP 7+ code, Define
   $value = function() {
      return $this->x;
   };

   print($value->call(new A));
?>

它產(chǎn)生以下瀏覽器輸出:

1
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號