함수 처리 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
                

기타