(PECL runkit >= 0.7.0)
runkit_method_add — Dynamically adds a new method to a given class
$classname
   , string $methodname
   , string $args
   , string $code
   [, int $flags = RUNKIT_ACC_PUBLIC
  ] )
classnameThe class to which this method will be added
methodnameThe name of the method to add
argsComma-delimited list of arguments for the newly-created method
code
       The code to be evaluated when methodname
       is called
      
flags
       The type of method to create, can be
       RUNKIT_ACC_PUBLIC,
       RUNKIT_ACC_PROTECTED or
       RUNKIT_ACC_PRIVATE optionally combined via bitwise OR with
       RUNKIT_ACC_STATIC (since 1.0.1)
      
Note:
This parameter is only used as of PHP 5, because, prior to this, all methods were public.
   Returns TRUE on success or FALSE on failure.
  
Example #1 runkit_method_add() example
<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}
// create an Example object
$e = new Example();
// Add a new public method
runkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    RUNKIT_ACC_PUBLIC
);
// add 12 + 4
echo $e->add(12, 4);
?>
The above example will output:
16