uopz_set_return
(PECL uopz 5, PECL uopz 6, PECL uopz 7)
Provide a return value for an existing function
Description
Sets the return value of the function to value. If value is a Closure and execute is set, the Closure will be executed in place of the original function. It is possible to call the original function from the Closure.
This function replaces uopz_rename.
Parameters
classThe name of the class containing the function
functionThe name of an existing function
valueThe value the function should return. If a Closure is provided and the execute flag is set, the Closure will be executed in place of the original function.
executeIf true, and a Closure was provided as the value, the Closure will be executed in place of the original function.
Return Values
True if succeeded, false otherwise.
Examples
uopz_set_return() example
<?php
uopz_set_return("strlen", 42);
echo strlen("Banana");
?>The above example will output:
42uopz_set_return() example
<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>The above example will output:
12uopz_set_return() class example
<?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");
?>The above example will output:
12