Fornece um valor de retorno para uma função existente

# uopz_set_return

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

uopz_set_return — Fornece um valor de retorno para uma função existente

### Descrição

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

Define o valor de retorno de `function` como `value`. Se `value` for um Closure e `execute` estiver definido, o Closure será executado no lugar da função original. É possível chamar a função original a partir do Closure.

> Nota:

> Esta função substitui uopz_rename().

### Parâmetros

`class`

  O nome da classe que contém a função.

`function`

  O nome de uma função existente.

`value`

  O valor que a função deve retornar. Se um Closure for fornecido e o sinalizador de execução estiver definido, o Closure será executado no lugar da função original.

`execute`

  Se for igual a true e um Closure tiver sido fornecido como valor, o Closure será executado no lugar da função original.

### Valor Retornado

True se for bem-sucedido, false caso contrário.

### Exemplos

Exemplo #1 Exemplo de uopz_set_return()

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

O exemplo acima produzirá:

    42

Exemplo #2 Exemplo de uopz_set_return()

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

O exemplo acima produzirá:

    12

Exemplo #3 Exemplo de uopz_set_return() com uma classe

    <?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");
    ?>

O exemplo acima produzirá:

    12

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