downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

func_get_arg> <forward_static_call_array
[edit] Last updated: Fri, 25 May 2012

view this page in

forward_static_call

(PHP 5 >= 5.3.0)

forward_static_callCall a static method

Описание

mixed forward_static_call ( callable $function [, mixed $parameter [, mixed $... ]] )

Calls a user defined function or method given by the function parameter, with the following arguments. This function must be called within a method context, it can't be used outside a class. It uses the late static binding.

Список параметров

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

Zero or more parameters to be passed to the function.

Возвращаемые значения

Returns the function result, or FALSE on error.

Примеры

Пример #1 forward_static_call() example

<?php

class A
{
    const 
NAME 'A';
    public static function 
test() {
        
$args func_get_args();
        echo static::
NAME" ".join(','$args)." \n";
    }
}

class 
extends A
{
    const 
NAME 'B';

    public static function 
test() {
        echo 
self::NAME"\n";
        
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)." \n";
    }

?>

Результат выполнения данного примера:

B
B more,args 
C other,args

Смотрите также

  • forward_static_call_array() - Call a static method and pass the arguments as array
  • call_user_func_array() - Вызывает пользовательскую функцию с массивом параметров
  • call_user_func() - Вызывает пользовательскую функцию, указанную в первом параметре
  • is_callable() - Проверяет, может ли значение переменной быть вызвано в качестве функции
  • информация о типе callback



add a note add a note User Contributed Notes forward_static_call
arthur dot techarts at gmail dot com 12-Jul-2011 07:39
Example to understand this function and difference with call_user_func:

<?php
class Beer {
    const
NAME = 'Beer!';
    public static function
printed(){
        echo
'static Beer:NAME = '. static::NAME . PHP_EOL;
    }
}

class
Ale extends Beer {
    const
NAME = 'Ale!';
    public static function
printed(){
       
forward_static_call(array('parent','printed'));
       
call_user_func(array('parent','printed'));

       
forward_static_call(array('Beer','printed'));
       
call_user_func(array('Beer','printed'));
    }
}

Ale::printed();
echo
'</pre>';
?>

 
show source | credits | sitemap | contact | advertising | mirror sites