(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.
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.
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