uopz_set_return

(PECL uopz 5, PECL uopz 6)

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