uopz_set_return

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

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

Описание

uopz_set_return(string$function, mixed$value, bool$execute = false): bool
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
To Top