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_array함수,
forward_static_call과 유사하지만 인수를 배열로 받습니다.