(PECL runkit >= 0.7.0)
runkit_method_add — Añadir dinámicamente un nuevo método a una clase dada
$classname
, string $methodname
, string $args
, string $code
[, int $flags
= RUNKIT_ACC_PUBLIC
] ) : bool
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.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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(12, 4);
?>
El resultado del ejemplo sería:
16