Funkcia forward_static_call

Funkcia forward_static_call umožňuje volať statickú metódu triedy, pričom využíva neskoré statické viazanie (Late Static Binding). Ako prvý parameter sa odovzdáva callback funkcia vo forme poľa [trieda, metóda] alebo reťazca s názvom metódy, a následné parametre sú argumenty pre volanú metódu.

Syntax

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

Príklad

Volanie statickej metódy cez 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;
?>

Výsledok vykonania kódu:

php'B'

Príklad

Odovzdanie argumentov do volanej metódy:

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

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

Výsledok vykonania kódu:

php8

Pozrite tiež