forward_static_call_array

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

forward_static_call_arrayChama um método estático e passa os argumentos como array

Descrição

forward_static_call_array(callable $callback, array $args): mixed

Chama uma função ou método definido pelo usuário fornecido pelo parâmetro callback. Esta função deve ser chamada dentro de um contexto de método, não pode ser usada fora de uma classe. Ela usa a ligação estática tardia. Todos os argumentos do método encaminhado são passados ​​como valores e como um array, de forma semelhante a call_user_func_array().

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.

parameter

Um parâmetro, reunindo todos os parâmetros do método em um array.

Note:

Observe que os parâmetros para forward_static_call_array() não são passados ​​por referência.

Valor Retornado

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

Exemplos

Example #1 Exemplo de forward_static_call_array()

<?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('mais', 'argumentos'));
        forward_static_call_array( 'test', array('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