PHP - forward_static_call ()

La funzione forward_static_call () può chiamare un metodo statico.

Sintassi

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

La funzione forward_static_call () può chiamare una funzione o un metodo definito dall'utente fornito dal parametro della funzione. Deve essere chiamato all'interno di un contesto di metodo e non può essere utilizzato all'esterno di una classe. Può utilizzare l'associazione statica tardiva.

Esempio

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

Produzione

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