Proporciona un valor de retorno para una función existente

# uopz_set_return

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_return — Proporciona un valor de retorno para una función existente

### Descripción

function uopz_set_return(string `$function`, mixed `$value`, bool `$execute` = `false`): bool
function uopz_set_return(
string `$class`,
string `$function`,
mixed `$value`,
bool `$execute` = `false`
): bool

Establece el valor de retorno de la `function` a `value`. Si `value` es una función anónima y `execute` está establecido, la función anónima se ejecutará en lugar de la función original. Es posible llamar a la función original desde la función anónima.

> Nota:

> Esta función reemplaza a uopz_rename().

### Parámetros

`class`

  El nombre de la clase que contiene la función

`function`

  El nombre de una función existente

`value`

  El valor que la función debe devolver. Si se proporciona una función anónima y el flag de ejecución está establecido, la función anónima se ejecutará en lugar de la función original.

`execute`

  Si es verdadero, y se ha proporcionado una función anónima como valor, la función anónima se ejecutará en lugar de la función original.

### Valores devueltos

Devuelve `true` en caso de éxito, de lo contrario `false`.

### Ejemplos

Ejemplo #1 Ejemplo de uopz_set_return()

    <?php
    uopz_set_return("strlen", 42);
    echo strlen("Banana");
    ?>

El ejemplo anterior mostrará:

    42

Ejemplo #2 Ejemplo de uopz_set_return()

    <?php
    uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
    echo strlen("Banana");
    ?>

El ejemplo anterior mostrará:

    12

Ejemplo #3 Ejemplo de uopz_set_return() con una clase

    <?php
    class My {
        public static function strlen($arg) {
            return strlen($arg);
        }
    }
    uopz_set_return(My::class, "strlen", function($str) { return strlen($str) * 2; }, true );
    echo My::strlen("Banana");
    ?>

El ejemplo anterior mostrará:

    12

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