Php/docs/function.uopz-set-return
uopz_set_return
(PECL uopz 5, PECL uopz 6)
uopz_set_return — Provide a return value for an existing function
说明
uopz_set_return
( string $function
, mixed $value
[, bool $execute
= false
] ) : bool
uopz_set_return
( string $class
, string $function
, mixed $value
[, bool $execute
= false
] ) : bool
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
<?phpuopz_set_return("strlen", 42);echo strlen("Banana");?>
以上例程会输出:
42
Example #2 uopz_set_return() example
<?phpuopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );echo strlen("Banana");?>
以上例程会输出:
12
Example #3 uopz_set_return() class example
<?phpclass 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