uopz_set_return

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

uopz_set_return — 기존 함수에 대한 반환 값 제공


설명

uopz_set_return(string $function, mixed $value, bool $execute = false): bool

uopz_set_return(
    string $class,
    string $function,
    mixed $value,
    bool $execute = false
): bool
                

function의 반환 값을 value으로 설정합니다. value이 Closure이고 execute가 설정되어 있으면 원래 함수 대신 Closure가 실행됩니다. Closure에서 원래 함수를 호출하는 것이 가능합니다.

메모: 이 함수는 uopz_rename()을 대체합니다.


매개변수

class
함수를 포함하는 클래스의 이름
function
기존 함수의 이름
value
함수가 반환해야 하는 값입니다. 클로저가 제공되고 실행 플래그가 설정되면 클로저는 원래 함수 대신 실행됩니다.
execute
true이고 값으로 Closure가 제공되면 원래 함수 대신 Closure가 실행됩니다.

반환 값

성공하면 참, 그렇지 않으면 거짓.


Examples

예제 #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