(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().
classEl nombre de la clase que contiene la función
functionEl nombre de una función existente
valueEl 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.
executeSi 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 ejemplo anterior mostrará:
42
Ejemplo #2 Ejemplo de uopz_set_return()
<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>El ejemplo anterior mostrará:
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 ejemplo anterior mostrará:
12