Funktionen forward_static_call
Funktionen forward_static_call gör det möjligt att anropa en statisk metod i en klass
med hjälp av sen statisk bindning (Late Static Binding). Den första parametern
är en callback-funktion i form av en array [klass, metod] eller en sträng med metodens namn,
och de efterföljande parametrarna är argument för den anropade metoden.
Syntax
forward_static_call(callable $callback, mixed ...$args): mixed
Exempel
Anrop av en statisk metod via 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;
?>
Resultat av kodkörning:
'B'
Exempel
Skicka argument till den anropade metoden:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Resultat av kodkörning:
8
Se även
-
funktionen
call_user_func,
som anropar en callback-funktion -
funktionen
forward_static_call_array,
som är liknar forward_static_call, men tar argument i form av en array