(PHP 5 >= 5.3.0, PHP 7, PHP 8)
forward_static_call — Chama um método estático
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.
callbackA 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.
argsZero ou mais parâmetros a serem passados para a função.
Retorna o resultado da função ou false em caso de erro.
Exemplo #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