(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_return — 为现有函数提供返回值
将 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