(PECL classkit >= 0.1)
classkit_method_redefine — Dynamically changes the code of the given method
$classname
   , string $methodname
   , string $args
   , string $code
   [, int $flags = CLASSKIT_ACC_PUBLIC
  ] )Nota: Questa funzione non può essere usata per manipolare il metodo attualmente in esecuzione (o concatenato).
Questa funzione è SPERIMENTALE. Ovvero, il comportamento di questa funzione, il nome di questa funzione, in definitiva tutto ciò che è documentato qui può cambiare nei futuri rilasci del PHP senza preavviso. Siete avvisati, l'uso di questa funzione è a vostro rischio.
classnameThe class in which to redefine the method
methodnameThe name of the method to redefine
argsComma-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
       CLASSKIT_ACC_PUBLIC,
       CLASSKIT_ACC_PROTECTED or
       CLASSKIT_ACC_PRIVATE
      
Nota:
This parameter is only used as of PHP 5, because, prior to this, all methods were public.
   Restituisce TRUE in caso di successo, FALSE in caso di fallimento.
  
Example #1 classkit_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
classkit_method_redefine(
    'Example',
    'foo',
    '',
    'return "bar!\n";',
    CLASSKIT_ACC_PUBLIC
);
// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>
Il precedente esempio visualizzerà:
Before: foo! After: bar!