(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_return — Provide a return value for an existing function
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.
Note :
This function replaces uopz_rename() .
class
The name of the class containing the function
function
The name of an existing function
value
The 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.
execute
If true, and a Closure was provided as the value, the Closure will be executed in place of the original function.
True if succeeded, false otherwise.
Example #1 uopz_set_return() example
<?php
uopz_set_return
(
"strlen"
,
42
);
echo
strlen
(
"Banana"
);
?>
The above example will output:
42
Example #2 uopz_set_return() example
<?php
uopz_set_return
(
"strlen"
, function(
$str
) { return
strlen
(
$str
) *
2
; },
true
);
echo
strlen
(
"Banana"
);
?>
The above example will output:
12
Example #3 uopz_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