uopz_set_return

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_return为现有函数提供返回值

说明

uopz_set_return(字符串 $function, 混合 $value, 布尔值 $execute = false): 布尔值
uopz_set_return(
    字符串 $class,
    字符串 $function,
    混合 $value,
    布尔值 $execute = false
): 布尔值

function 的返回值设置为 value。如果 value 是一个闭包并且 execute 被设置,则闭包将代替原始函数执行。可以从闭包中调用原始函数。

注意:

此函数替换了 uopz_rename().

参数

class

包含函数的类的名称

function

现有函数的名称

value

函数应返回的值。如果提供闭包并且执行标志被设置,闭包将代替原始函数执行。

execute

如果为真,并且闭包作为值提供,闭包将代替原始函数执行。

返回值

如果成功,则为真,否则为假。

示例

示例 #1 uopz_set_return() 示例

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

上面的示例将输出

42

示例 #2 uopz_set_return() 示例

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

上面的示例将输出

12

示例 #3 uopz_set_return() 类示例

<?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
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top