runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_addAñadir dinámicamente un nuevo método a una clase dada

Descripción

runkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags = RUNKIT_ACC_PUBLIC ] ) : bool

Parámetros

classname

La clase donde se va a añadir el método

methodname

El nombre del método a añadir

args

Lista de argumentos delimitados por comas para el recién creado método

code

El código a ser evaluado cuando methodname sea llamado

flags

El tipo de método a crear, puede ser RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED o RUNKIT_ACC_PRIVATE opcionalmente combinado mediante OR de bits con RUNKIT_ACC_STATIC (desde 1.0.1)

Nota:

Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión, todos los métodos eran públicos.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de runkit_method_add()

<?php
class Ejemplo {
    function 
foo() {
        echo 
"foo!\n";
    }
}

// crear un objeto de Ejemplo
$e = new Ejemplo();

// Añadir un nuevo método público
runkit_method_add(
    
'Ejemplo',
    
'sumar',
    
'$num1, $num2',
    
'return $num1 + $num2;',
    
RUNKIT_ACC_PUBLIC
);

// sumar 12 + 4
echo $e->sumar(124);
?>

El resultado del ejemplo sería:

16

Ver también