(PHP 5 >= 5.3.0, PHP 7)
forward_static_call — Appelle une méthode statique
Appelle une fonction ou une méthode utilisateur, nommée function
,
avec les arguments qui suivent. Cette fonction doit être appelée depuis une méthode,
et ne peut pas être utilisée hors d'une classe.
Elle utilise le liage statique.
function
La fonction ou la méthode appelée. Ce paramètre peut être un tableau, avec le nom de la classe et de la méthode, ou une chaîne, avec le nom de la fonction.
parameter
Zéro ou plusieurs paramètres à passer à la fonction.
Retourne le résultat de la fonction, ou bien FALSE
en cas d'erreur.
Exemple #1 Exemple avec 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'), 'encore', 'args');
forward_static_call( 'test', 'autres', 'args');
}
}
B::test('foo');
function test() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}
?>
L'exemple ci-dessus va afficher :
B B encore,args C autres,args