Предоставить возвращаемое значение для существующей функции

# uopz_set_return

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

uopz_set_return — Предоставить возвращаемое значение для существующей функции

### Описание

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

Установить возвращаемое значение для `function` на `value`. Если `value` замыкание и установлен `execute`, замыкание будет выполняться вместо исходной функции. Можно вызвать исходную функцию из замыкания.

> Замечание:

> Эта функция заменяет uopz_rename().

### Список параметров

`class`

  Имя класса, содержащего функцию

`function`

  Имя существующей функции

`value`

  Возвращаемое значение функцией. Если передано замыкание и параметр execute установлен, замыкание будет выполнено вместо исходной функции.

`execute`

  Если true, и в параметре value передано замыкание, замыкание будет выполнено вместо исходной функции.

### Возвращаемые значения

True в случае успешного выполнения, false в противном случае.

### Примеры

Пример #1 Пример использования uopz_set_return()

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

Результат выполнения приведённого примера:

    42

Пример #2 Пример использования uopz_set_return()

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

Результат выполнения приведённого примера:

    12

Пример #3 Пример использования uopz_set_return() с классом

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

Результат выполнения приведённого примера:

    12

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