関数 forward_static_call
関数 forward_static_call は、遅延静的束縛 (Late Static Binding) を使用してクラスの静的メソッドを呼び出すことを可能にします。最初のパラメータには、配列 [クラス, メソッド] またはメソッド名の文字列としてコールバック関数が渡され、それ以降のパラメータは呼び出されるメソッドの引数となります。
構文
forward_static_call(callable $callback, mixed ...$args): mixed
例
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;
?>
コード実行結果:
'B'
例
呼び出されるメソッドへの引数の渡し方:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
コード実行結果:
8
関連項目
-
コールバック関数を呼び出す関数
call_user_func,
-
forward_static_call と似ていますが、引数を配列として受け取る関数
forward_static_call_array,