略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: uopz_set_return

2024-11-13

uopz_set_return

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

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

<?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
add a noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/function.uopz-set-return.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3