Fonction forward_static_call

La fonction forward_static_call permet d'appeler une méthode statique de classe en utilisant la liaison statique tardive (Late Static Binding). Le premier paramètre est une fonction de rappel (callback) sous forme de tableau [classe, méthode] ou d'une chaîne avec le nom de la méthode, et les paramètres suivants sont les arguments pour la méthode appelée.

Syntaxe

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

Exemple

Appel d'une méthode statique 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;
?>

Résultat de l'exécution du code :

php'B'

Exemple

Transmission d'arguments à la méthode appelée :

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

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

Résultat de l'exécution du code :

php8

Voir aussi