(PHP 5 >= 5.3.0, PHP 7, PHP 8)
forward_static_call_array — Appelle une méthode statique et passe les arguments en tableau
Appelle une fonction ou une méthode utilisateur, nommée callback,
avec les arguments rassemblés dans un tableau. 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.
Tous les arguments transmis sont passés par valeur dans un tableau, similairement à
call_user_func_array().
callbackLa 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.
argsUn paramètre, rassemblant tous les paramètres dans un tableau.
Note:
Il est à noter que les paramètres de forward_static_call_array() ne sont pas passés par référence.
Retourne le résultat de la fonction, et false en cas d'erreur.
Exemple #1 Exemple avec 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('encore', 'args'));
forward_static_call_array( 'test', array('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