Funzione forward_static_call

La funzione forward_static_call permette di chiamare un metodo statico di una classe, utilizzando il late static binding (Legame Statico Tardivo). Il primo parametro viene passato come callback sotto forma di array [classe, metodo] o stringa con il nome del metodo, e i parametri successivi sono gli argomenti per il metodo da chiamare.

Sintassi

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

Esempio

Chiamare un metodo statico tramite 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;
?>

Risultato dell'esecuzione del codice:

php'B'

Esempio

Passare argomenti al metodo chiamato:

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

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

Risultato dell'esecuzione del codice:

php8

Vedi anche