PHP 7 - Closure :: call ()

Closure::call()Die Methode wird als Kurzform hinzugefügt, um einen Objektbereich vorübergehend an einen Abschluss zu binden und ihn aufzurufen. Es ist viel schneller in der Leistung als im Vergleich zubindTo von PHP 5.6.

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

Es erzeugt die folgende Browserausgabe -

1

Beispiel - PHP 7+

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

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

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

Es erzeugt die folgende Browserausgabe -

1