Funktion forward_static_call
Die Funktion forward_static_call ermöglicht den Aufruf einer statischen Klassenmethode
unter Verwendung von späten statischen Bindungen (Late Static Binding). Der erste Parameter
ist ein Callback in Form eines Arrays [Klasse, Methode] oder eines Strings mit dem Methodennamen,
die folgenden Parameter sind die Argumente für die aufzurufende Methode.
Syntax
forward_static_call(callable $callback, mixed ...$args): mixed
Beispiel
Aufruf einer statischen Methode 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;
?>
Ausgabe des Codes:
'B'
Beispiel
Übergabe von Argumenten an die aufgerufene Methode:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Ausgabe des Codes:
8
Siehe auch
-
die Funktion
call_user_func,
die eine Callback-Funktion aufruft -
die Funktion
forward_static_call_array,
die forward_static_call ähnelt, aber Argumente als Array akzeptiert