Provide a return value for an existing function

# uopz_set_return

(PECL uopz 5)

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.

> 注意:

> 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