PHP forward_static_call_array function 处理函数

  • 定义和用法

    forward_static_call_array - 调用静态方法并将参数作为数组传递
  • 版本支持

    PHP4 PHP5 PHP7
    不支持 5.3.0+支持 支持
  • 语法

    forward_static_call_array( callable $function , array $parameters )
    forward_static_call_array() 调用函数参数给定的用户定义函数或方法。 此函数必须在方法上下文中调用,不能在类外部使用。 它使用后期静态绑定。 与call_user_func_array()类似,转发的方法的所有参数都作为值和数组传递。
  • 参数

    参数 必需的 描述
    function 要调用的函数或方法。 该参数可以是具有类名的数组,以及具有方法名的方法或字符串。
    parameter 是(取决回调函数是否有参数) 一个参数,将所有方法参数收集在一个数组中。
    请注意,forward_static_call_array() 的参数未通过引用传递。
  • 返回值

    返回函数结果,如果错误则返回FALSE。
  • 示例

    class A
    {
            const NAME = 'A';
            public static function test() {
                    $args = func_get_args();
                    echo static::NAME, " ".join(',', $args)." <br/>";
            }
    }
    
    class B extends A
    {
            const NAME = 'B';
    
            public static function test() {
                    echo self::NAME, "<br/>";
                    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)." <br/>";
    }
    
    尝试一下
  • 相关页面

    forward_static_call_array_array() - 调用回调函数,并把一个数组参数作为回调函数的参数
    is_callable() - 检测参数是否为合法的可调用结构
    forward_static_call() - 调用静态方法
    call_user_func() - 把第一个参数作为回调函数调用