Funcția forward_static_call

Funcția forward_static_call permite apelarea unei metode statice a unei clase, utilizând legarea statică tardivă (Late Static Binding). Primul parametru este transmis ca funcție callback sub forma unui array [clasă, metodă] sau a unui șir de caractere cu numele metodei, iar parametrii următori - argumente pentru metoda apelată.

Sintaxă

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

Exemplu

Apelarea metodei statice prin 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;
?>

Rezultatul executării codului:

php'B'

Exemplu

Transmiterea argumentelor în metoda apelată:

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

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

Rezultatul executării codului:

php8

Veți și