PHP 7 - ปิด :: โทร ()

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

สร้างผลลัพธ์ของเบราว์เซอร์ต่อไปนี้ -

1