PHP - forward_static_call ()

La fonction forward_static_call () peut appeler une méthode statique.

Syntaxe

mixed forward_static_call( callable $function [, mixed $parameter [, mixed $... ]] )

La fonction forward_static_call () peut appeler une fonction ou une méthode définie par l'utilisateur donnée par le paramètre de fonction. Il doit être appelé dans un contexte de méthode et ne peut pas être utilisé en dehors d'une classe. Il peut utiliser la liaison statique tardive.

Exemple

<?php
   class Beer {
      const NAME = 'Beer!';
      public static function printed(){
         echo 'static Beer:NAME = '. static::NAME . "\n";
      }
   }

   class Ale extends Beer {
      const NAME = 'Ale!';
      public static function printed(){
         forward_static_call(array('parent','printed'));
         call_user_func(array('parent','printed'));

         forward_static_call(array('Beer','printed'));
         call_user_func(array('Beer','printed'));
       }
   }
   Ale::printed();
   echo "\n";
?>

Production

static Beer:NAME = Ale!
static Beer:NAME = Ale!
static Beer:NAME = Ale!
static Beer:NAME = Beer!