Php/docs/function.uopz-set-return

提供:Dev Guides
< Php
移動先:案内検索

uopz_set_return

(PECL uopz 5, PECL uopz 6)

uopz_set_returnProvide 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.

注意:

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

<?phpuopz_set_return("strlen", 42);echo strlen("Banana");?>

上の例の出力は以下となります。


42

例2 uopz_set_return() example

<?phpuopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );echo strlen("Banana");?>

上の例の出力は以下となります。


12

例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