함수 처리 forward_static_call_array
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
forward_static_call_array — 정적 메서드를 호출하고 인수를 배열로 전달
설명
forward_static_call_array(callable $callback
, array $args
): mixed
callback
매개변수에 의해 제공된 사용자 정의 함수 또는 메소드를 호출합니다. 이 함수는 메서드 컨텍스트 내에서 호출해야 하며 클래스 외부에서 사용할 수 없습니다. late static binding을 사용합니다. 전달된 메서드의 모든 인수는 call_user_func_array()와 유사하게 값 및 배열로 전달됩니다.
매개변수
callback
- 호출할 함수 또는 메서드입니다. 이 매개변수는 클래스 이름이 있는 배열일 수 있고 함수 이름이 있는 메서드 또는 문자열일 수 있습니다.
parameter
- 하나의 매개변수, 모든 메소드 매개변수를 하나의 배열로 수집합니다.
메모: forward_static_call_array()에 대한 매개변수는 참조로 전달되지 않습니다.
반환 값
함수 결과를 반환하거나 오류가 발생하면 false
를 반환합니다.
Examples
예제 #1 forward_static_call_array() 예제
<?php
class A
{
const NAME = 'A';
public static function test() {
$args = func_get_args();
echo static::NAME, " ".join(',', $args)." \n";
}
}
class B extends A
{
const NAME = 'B';
public static function test() {
echo self::NAME, "\n";
forward_static_call_array(array('A', 'test'), array('more', 'args'));
forward_static_call_array( 'test', array('other', 'args'));
}
}
B::test('foo');
function test() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}
?>
위의 예는 다음을 출력합니다.
B B more,args C other,args
기타
- forward_static_call() - 정적 메서드 호출
- call_user_func() - 첫 번째 매개변수에 의해 제공된 콜백 호출
- call_user_func_array() - 매개변수 배열로 콜백 호출
- is_callable() - 현재 범위에서 값을 함수로 호출할 수 있는지 확인합니다.