forward_static_call
PHP Manual
PHP Manual»Fonctions sur la gestion des fonctions»forward_static_call

forward_static_call

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

forward_static_call — Appelle une fonction de rappel en préservant la classe appelée courante

Description

function forward_static_call(callable $callback, mixed ...$args): mixed

Appelle une fonction ou une méthode utilisateur, nommée callback, 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. Lorsque la fonction de rappel est une méthode, elle effectue un appel transmis, de sorte que static:: à l'intérieur de la méthode se résout vers la même classe appelée que dans l'appelant. Cela est utile pour les fonctions de rappel de méthodes statiques qui devraient se comporter comme self:: ou parent::.

Liste de paramètres

callback

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.

args

Zéro ou plusieurs paramètres à passer à la fonction de rappel.

Valeurs de retour

Retourne le résultat de la fonction, ou bien false en cas d'erreur.

Exemples

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

Voir aussi

  • forward_static_call_array() - Appelle une fonction de rappel avec un tableau de paramètres, en préservant la classe appelée courante
  • call_user_func_array() - Appelle une fonction de rappel avec les paramètres rassemblés en tableau
  • call_user_func() - Appelle une fonction de rappel fournie par le premier argument
  • is_callable() - Détermine si une valeur peut être appelée comme une fonction dans la portée courante

To Top