(PECL runkit7 >= Unknown)
runkit7_method_redefine — Cambiar dinámicamente el código del método dado
class_name
La clase en la que redefinir el método
method_name
El nombre del método a redefinir
argument_list
La lista de argumentos separados por comas para el método redefinido
code
El nuevo código a evaluar cuando method_name
es llamado
closure
Una closure que define el método.
flags
El método redefinido puede ser
RUNKIT7_ACC_PUBLIC
,
RUNKIT7_ACC_PROTECTED
o
RUNKIT7_ACC_PRIVATE
opcionalmente combinado mediante una operación bit a bit OU con
RUNKIT7_ACC_STATIC
doc_comment
El comentario de documentación del método.
return_type
El tipo de retorno del método.
is_strict
Si el método se comporta como si fuera declarado en un archivo con strict_types=1
Ejemplo #1 Ejemplo de runkit7_method_redefine()
<?php
class Example {
function foo() {
return "foo!\n";
}
}
// crear un objeto Example
$e = new Example();
// muestra Example::foo() (antes de la redefinición)
echo "Before: " . $e->foo();
// Redefine el método 'foo'
runkit7_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
RUNKIT7_ACC_PUBLIC
);
// muestra Example::foo() (después de la redefinición)
echo "After: " . $e->foo();
?>
El ejemplo anterior mostrará :
Before: foo! After: bar!