首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7)

forward_static_call_array - 调用静态方法并将参数作为数组传递

描述

代码语言:javascript
复制
mixed forward_static_call_array ( callable $function , array $parameters )

调用由function参数给出的用户定义的函数或方法。这个函数必须在方法上下文中调用,它不能在类之外使用。它使用晚期的静态绑定。转发方法的所有参数都以值和数组的形式传递,类似于call_user_func_array()。

参数

function

要调用的函数或方法。该参数可以是一个数组,带有类名,方法或字符串,带有函数名。

parameter

一个参数,将所有方法参数收集在一个数组中。

注意:请注意,forward_static_call_array()的参数不能通过引用传递。

返回值

返回函数结果或错误时返回FALSE

示例

Example #1 forward_static_call_array() example

代码语言:javascript
复制
<?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";
    }

?>

上面的例子将输出:

代码语言:javascript
复制
B
B more,args 
C other,args

另请参阅

  • forward_static_call() - 调用一个静态方法
  • call_user_func() - 调用第一个参数给出的回调
  • call_user_func_array() - 用参数数组调用回调
  • is_callable() - 验证变量的内容可以作为函数调用
  • information about the callback type

← create_function

forward_static_call →

扫码关注腾讯云开发者

领取腾讯云代金券