関数 forward_static_call

関数 forward_static_call は、遅延静的束縛 (Late Static Binding) を使用してクラスの静的メソッドを呼び出すことを可能にします。最初のパラメータには、配列 [クラス, メソッド] またはメソッド名の文字列としてコールバック関数が渡され、それ以降のパラメータは呼び出されるメソッドの引数となります。

構文

phpforward_static_call(callable $callback, mixed ...$args): mixed

例

forward_static_call を通じた静的メソッドの呼び出し:

php<?php
class A {
  public static function test() {
    return static::class;
  }
}

class B extends A {}

$res = forward_static_call(['B', 'test']);
echo $res;
?>

コード実行結果:

php'B'

例

呼び出されるメソッドへの引数の渡し方:

php<?php
class Calculator {
  public static function add($a, $b) {
    return $a + $b;
  }
}

$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>

コード実行結果:

php8

関連項目