(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