uopz_set_return
(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.
注意:
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.
例
例1 uopz_set_return() example
<?php
uopz_set_return("strlen", 42);
echo strlen("Banana");
?>
上の例の出力は以下となります。
42
例2 uopz_set_return() example
<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>
上の例の出力は以下となります。
12
例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");
?>
上の例の出力は以下となります。
12