forward_static_call

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_callChama um método estático

Descrição

forward_static_call(callable $callback, mixed ...$args): mixed

Chama uma função ou método definido pelo usuário fornecido pelo parâmetro callback, com os argumentos na suquência. Esta função deve ser chamada dentro de um contexto de método, não pode ser usada fora de uma classe. Ele usa a ligação estática tardia.

Parâmetros

callback

A função ou método a ser chamado. Este parâmetro pode ser um array, com o nome da classe e do método, ou uma string, com um nome de função.

args

Zero ou mais parâmetros a serem passados ​​para a função.

Valor Retornado

Retorna o resultado da função ou false em caso de erro.

Exemplos

Example #1 Exemplo de forward_static_call()

<?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('A', 'test'), 'mais', 'argumentos');
        forward_static_call( 'test', 'outros', 'argumentos');
    }
}

B::test('foo');

function test() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

O exemplo acima produzirá:

B
B mais,argumentos
C outros,argumentos

Veja Também