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ă
forward_static_call(callable $callback, mixed ...$args): mixed
Exemplu
Apelarea metodei statice prin 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;
?>
Rezultatul executării codului:
'B'
Exemplu
Transmiterea argumentelor în metoda apelată:
<?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:
8
Veți și
-
funcția
call_user_func,
care apelează o funcție callback -
funcția
forward_static_call_array,
care este analogă cu forward_static_call, dar acceptă argumentele sub formă de array