forward_static_call
PHP Manual
PHP Manual»Funciones de Manejo de Funciones»forward_static_call

forward_static_call

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

forward_static_call — Llama a una función de devolución de llamada preservando la clase llamada actual

Descripción

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

Llama a una función o método definido por el usuario, dado por el parámetro callback, con los siguientes argumentos. Esta función debe ser llamada dentro del contexto de un método, no se puede usar fuera de una clase. Al llamar a una función de devolución de llamada de método, realiza una llamada reenviada, de modo que static:: dentro del método se resuelve a la misma clase llamada que en el llamador. Esto es útil para funciones de devolución de llamada de métodos estáticos que deberían comportarse como self:: o parent::.

Parámetros

callback

La función o método a ser llamado. Este parámetro puede ser una matriz, con el nombre de la clase y del método, o una cadena, con el nombre una función.

args

Cero o más parámetros a ser pasados a la función de devolución de llamada.

Valores devueltos

Devuelve el resultado de la función, o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de forward_static_call()

<?php

class A
{
    const NOMBRE = 'A';
    public static function prueba() {
        $args = func_get_args();
        echo static::NOMBRE, " ".join(',', $args)." \n";
    }
}

class B extends A
{
    const NOMBRE = 'B';

    public static function prueba() {
        echo self::NOMBRE, "\n";
        forward_static_call(array('A', 'prueba'), 'más', 'args');
        forward_static_call( 'prueba', 'otro', 'args');
    }
}

B::prueba('foo');

function prueba() {
        $args = func_get_args();
        echo "C ".join(',', $args)." \n";
    }

?>

El ejemplo anterior mostrará:

B
B más,args
C otro,args

Véase también

  • forward_static_call_array() - Llama a una función de devolución de llamada con una matriz de parámetros, preservando la clase llamada actual
  • call_user_func_array() - Llama a una función de retorno con los argumentos agrupados en un array
  • call_user_func() - Llama a una función de retorno proporcionada por el primer argumento
  • is_callable() - Determina si un valor puede ser llamado como una función en el ámbito actual

To Top