uopz_set_return
(PECL uopz 5, PECL uopz 6)
uopz_set_return — Предоставить возвращаемое значение для существующей функции
Описание
Установить возвращаемое значение для 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