(PECL uopz 5, PECL uopz 6, PECL uopz 7)
uopz_set_return — Proporciona un valor de retorno para una función existente
Establece el valor de retorno de la function
a value
. Si value
es una función anónima y execute
está establecido, la función anónima se ejecutará en lugar de la función original.
Es posible llamar a la función original desde la función anónima.
Nota:
Esta función reemplaza a uopz_rename().
class
El nombre de la clase que contiene la función
function
El nombre de una función existente
value
El valor que la función debe devolver. Si se proporciona una función anónima y el flag de ejecución está establecido, la función anónima se ejecutará en lugar de la función original.
execute
Si es verdadero, y se ha proporcionado una función anónima como valor, la función anónima se ejecutará en lugar de la función original.
Devuelve true en caso de éxito, de lo contrario false.
Ejemplo #1 Ejemplo de uopz_set_return()
<?php
uopz_set_return("strlen", 42);
echo strlen("Banana");
?>
El resultado del ejemplo sería:
42
Ejemplo #2 Ejemplo de uopz_set_return()
<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>
El resultado del ejemplo sería:
12
Ejemplo #3 Ejemplo de uopz_set_return() con una clase
<?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");
?>
El resultado del ejemplo sería:
12