(PECL uopz 5, PECL uopz 6, PECL uopz 7)
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