Funktio forward_static_call
Funktio forward_static_call mahdollistaa staattisen luokkametodin kutsun
käyttäen myöhäistä staattista sidontaa (Late Static Binding). Ensimmäisenä parametrina
annetaan callback-funktio taulukkona [luokka, metodi] tai merkkijonona metodin nimellä,
ja seuraavat parametrit ovat kutsutavan metodin argumentteja.
Syntaksi
forward_static_call(callable $callback, mixed ...$args): mixed
Esimerkki
Staattisen metodin kutsu forward_static_callin kautta:
<?php
class A {
public static function test() {
return static::class;
}
}
class B extends A {}
$res = forward_static_call(['B', 'test']);
echo $res;
?>
Koodin suorituksen tulos:
'B'
Esimerkki
Argumenttien välittäminen kutsuttavaan metodiin:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Koodin suorituksen tulos:
8
Katso myös
-
funktion
call_user_func,
joka kutsuu callback-funktiota -
funktion
forward_static_call_array,
joka on samanlainen kuin forward_static_call, mutta ottaa argumentit taulukkona