PHP - forward_static_call ()

A função forward_static_call () pode chamar um método estático.

Sintaxe

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

A função forward_static_call () pode chamar uma função definida pelo usuário ou método fornecido pelo parâmetro de função. Deve ser chamado dentro de um contexto de método e não pode ser usado fora de uma classe. Ele pode usar a vinculação estática tardia.

Exemplo

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

Resultado

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