runkit7_method_redefine
Dynamically changes the code of the given method
&reftitle.description;
boolrunkit7_method_redefine
stringclassname
stringmethodname
stringargs
stringcode
intflagsRUNKIT7_ACC_PUBLIC
stringdoc_comment&null;
stringreturn_type
boolis_strict
boolrunkit7_method_redefine
stringclassname
stringmethodname
Closureclosure
intflagsRUNKIT7_ACC_PUBLIC
stringdoc_comment&null;
stringreturn_type
boolis_strict
&reftitle.parameters;
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
closure
A closure that defines the method.
flags
The redefined method can be
RUNKIT7_ACC_PUBLIC,
RUNKIT7_ACC_PROTECTED or
RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with
RUNKIT7_ACC_STATIC
doc_comment
The doc comment of the method.
return_type
The return type of the method.
is_strict
Whether the method behaves as if it was declared in a file with strict_types=1.
&reftitle.returnvalues;
&return.success;
&reftitle.examples;
runkit7_method_redefine example
foo();
// Redefine the 'foo' method
runkit7_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
RUNKIT7_ACC_PUBLIC
);
// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>
]]>
&example.outputs;
&reftitle.seealso;
runkit7_method_add
runkit7_method_copy
runkit7_method_remove
runkit7_method_rename
runkit7_function_redefine