runkit_method_redefine
  Dynamically changes the code of the given method
  
 
  Description
  
   bool runkit_method_redefine
    ( string $classname
   , string $methodname
   , string $args
   , string $code
   [, int $flags = RUNKIT_ACC_PUBLIC
   [, string $doc_comment = NULL
  ]] )
  
   bool runkit_method_redefine
    ( string $classname
   , string $methodname
   , Closure $closure
   [, int $flags = RUNKIT_ACC_PUBLIC
   [, string $doc_comment = NULL
  ]] )
  Note: This function cannot
be used to manipulate the currently running (or chained) method.
  
 
  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 methodnameis called
 
- 
closure
- 
      
       A closure that defines the method.
       
- 
flags
- 
      
       The redefined method can be
       RUNKIT_ACC_PUBLIC,RUNKIT_ACC_PROTECTEDorRUNKIT_ACC_PRIVATEoptionally combined via bitwise OR withRUNKIT_ACC_STATIC(since 1.0.1)
 
- 
doc_comment
- 
      
       The doc comment of the function.
       
 
 
  Return Values
  
   Returns TRUE on success or FALSE on failure.
  
  
 
 
  Examples
  
   
    Example #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();
?>
     
    The above example will output:
 
  
  
 
  See Also
  
   
    - runkit_method_add
- runkit_method_copy
- runkit_method_remove
- runkit_method_rename
- runkit_function_redefine