Funkce forward_static_call
Funkce forward_static_call umožňuje volat statickou metodu třídy
s využitím pozdního statického bindování (Late Static Binding). Jako první parametr
se předává callback funkce ve formě pole [třída, metoda] nebo řetězce s názvem metody,
a následující parametry jsou argumenty pro volanou metodu.
Syntaxe
forward_static_call(callable $callback, mixed ...$args): mixed
Příklad
Volání statické metody přes forward_static_call:
<?php
class A {
public static function test() {
return static::class;
}
}
class B extends A {}
$res = forward_static_call(['B', 'test']);
echo $res;
?>
Výsledek provedení kódu:
'B'
Příklad
Předání argumentů do volané metody:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Výsledek provedení kódu:
8
Viz také
-
funkci
call_user_func,
která volá callback funkci -
funkci
forward_static_call_array,
která je analogická k forward_static_call, ale přijímá argumenty ve formě pole