PHP 7 - Clôture :: appel ()

Closure::call()est ajoutée en tant que moyen abrégé de lier temporairement une portée d'objet à une fermeture et de l'appeler. Il est beaucoup plus rapide en termes de performances quebindTo de PHP 5.6.

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

Il produit la sortie de navigateur suivante -

1

Exemple - PHP 7+

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

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

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

Il produit la sortie de navigateur suivante -

1