PHP - forward_static_call ()

La función forward_static_call () puede llamar a un método estático.

Sintaxis

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

La función forward_static_call () puede llamar a una función o método definido por el usuario proporcionado por el parámetro de función. Debe llamarse dentro de un contexto de método y no puede usarse fuera de una clase. Puede utilizar el enlace estático tardío.

Ejemplo

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

Salida

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