Llamar a un método estático

# forward_static_call

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

forward_static_call — Llamar a un método estático

### 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 `function`, 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. Usa el Enlace estático en tiempo de ejecución.

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

### 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

### Ver también

- forward_static_call_array() - Llamar a un método estático y pasar los argumentos como matriz
- 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open