(No version information available, might only be in Git)
runkit_method_redefine — Cambiar dinámicamente el código del método dado
$classname
,$methodname
,$args
,$code
,$flags
= RUNKIT_ACC_PUBLICNota: Esta función no puede ser utilizada para manipular el actual método en ejecución (o extendido).
classname
La clase en la que se va a redefinir el método
methodname
El nombre del método a redefinir
args
Lista de argumentos delimitados por coma para el método redefinido
code
El nuevo código a ser evaluado cuando methodname
sea llamado
flags
El método redefinido puede ser
RUNKIT_ACC_PUBLIC
,
RUNKIT_ACC_PROTECTED
o
RUNKIT_ACC_PRIVATE
opcionalmente combinado mediante OR de bits con
RUNKIT_ACC_STATIC
(desde 1.0.1)
Nota:
Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.
Ejemplo #1 Ejemplo de runkit_method_redefine()
<?php
class Ejemplo {
function foo() {
return "foo!\n";
}
}
// crear un objeto de Ejemplo
$e = new Ejemplo();
// imprimir Ejemplo::foo() (antes de redefinir)
echo "Antes: " . $e->foo();
// Redefinir el método 'foo'
runkit_method_redefine(
'Ejemplo',
'foo',
'',
'return "bar!\n";',
RUNKIT_ACC_PUBLIC
);
// imprimir Ejemplo::foo() (después de redefinir)
echo "Después: " . $e->foo();
?>
El resultado del ejemplo sería:
Antes: foo! Después: bar!