PHP forward_static_call function 处理函数

  • 定义和用法

    forward_static_call - 调用静态方法
  • 版本支持

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

    forward_static_call( callable $function [, mixed $parameter [, mixed $... ]] )
    forward_static_call() 使用以下参数调用由 function 参数给定的用户定义函数或方法。 此函数必须在方法上下文中调用,不能在类外部使用。 它使用后期静态绑定。
  • 参数

    参数 必需的 描述
    function 要调用的函数或方法。 该参数可以是具有类名的数组,以及具有方法名的方法或字符串。
    parameter 是(取决回调函数是否有参数) 零个或多个要传递给函数的参数。
  • 返回值

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

    class A
    {
            const NAME = 'A';
            public static function test() {
                    $args = func_get_args();
                    echo static::NAME, " ".join(',', $args)." 
    ";
            }
    }
    
    class B extends A
    {
            const NAME = 'B';
    
            public static function test() {
                    echo self::NAME, "
    ";
                    forward_static_call(array('A', 'test'), 'more', 'args');
                    forward_static_call( 'test', 'other', 'args');
            }
    }
    
    B::test('foo');
    
    function test() {
            $args = func_get_args();
            echo "C ".join(',', $args)." 
    ";
    }
    
    尝试一下
  • 相关页面

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