(PECL runkit >= 0.7.0)
runkit_method_redefine — Dynamically changes the code of the given method
$classname
, string $methodname
, string $args
, string $code
[, int $flags
= RUNKIT_ACC_PUBLIC
] )Informacja: Ta funkcja nie może być użyta do manipulacji aktualnie działającej (lub powiązanej) metody. This function cannot
Ta funkcja jest w stadium EKSPERYMENTALNYM. Oznacza to, że zachowanie funkcji, jej nazwa, w zasadzie wszystko udokumentowane tutaj może zostać zmienione w przyszłych wersjach PHP bez wcześniejszego uprzedzenia. Używaj tej funkcji na własne ryzyko.
classname
The class in which to redefine the method
methodname
The name of the method to redefine
args
Comma-delimited list of arguments for the redefined method
code
The new code to be evaluated when methodname
is called
flags
The redefined method can be
RUNKIT_ACC_PUBLIC
,
RUNKIT_ACC_PROTECTED
or
RUNKIT_ACC_PRIVATE
Informacja:
This parameter is only used as of PHP 5, because, prior to this, all methods were public.
Zwraca TRUE
w przypadku powodzenia, FALSE
w
przypadku błędu.
Przykład #1 runkit_method_redefine() example
<?php
class Example {
function foo() {
return "foo!\n";
}
}
// create an Example object
$e = new Example();
// output Example::foo() (before redefine)
echo "Before: " . $e->foo();
// Redefine the 'foo' method
runkit_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
RUNKIT_ACC_PUBLIC
);
// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>
Powyższy przykład wyświetli:
Before: foo! After: bar!