©
本文档使用 PHP中文网手册 发布
(PHP 5, PHP 7 >= 5.3.0, PHP 7)
forward_static_call_array — Call a static method and pass the arguments as array
$function
, array $parameters
)
Calls a user defined function or method given by the function
parameter. This function must be called within a method context, it can't be
used outside a class.
It uses the late static
binding.
All arguments of the forwarded method are passed as values,
and as an array, similarly to call_user_func_array() .
function
The function or method to be called. This parameter may be an array , with the name of the class, and the method, or a string , with a function name.
parameter
One parameter, gathering all the method parameter in one array.
Note:
Note that the parameters for forward_static_call_array() are not passed by reference.
Returns the function result, or FALSE
on error.
Example #1 forward_static_call_array() example
<?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