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