Função forward_static_call

A função forward_static_call permite chamar um método estático de uma classe, usando vinculação estática tardia (Late Static Binding). O primeiro parâmetro é uma função callback na forma de um array [classe, método] ou uma string com o nome do método, e os parâmetros subsequentes são os argumentos para o método chamado.

Sintaxe

phpforward_static_call(callable $callback, mixed ...$args): mixed

Exemplo

Chamando um método estático via forward_static_call:

php<?php
class A {
  public static function test() {
    return static::class;
  }
}

class B extends A {}

$res = forward_static_call(['B', 'test']);
echo $res;
?>

Resultado da execução do código:

php'B'

Exemplo

Passando argumentos para o método chamado:

php<?php
class Calculator {
  public static function add($a, $b) {
    return $a + $b;
  }
}

$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>

Resultado da execução do código:

php8

Veja também