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

함께 보기