runkit7_method_add
En esta página
runkit7_method_add
Añade dinámicamente un nuevo método a una clase dada
Descripción#
runkit7_method_add(string $class_name, string $method_name, string $argument_list, string $code, [int $flags], [string $doc_comment], [string $return_type], [bool $is_strict]): bool
```php
```php
runkit7_method_add(string $class_name, string $method_name, Closure $closure, [int $flags], [string $doc_comment], [string $return_type], [bool $is_strict]): bool
Parámetros#
class_name
La clase a la cual se añadirá este método
method_name
El nombre del método a añadir
argument_list
La lista de argumentos separados por comas para el nuevo método
code
El código a evaluar cuando method_name es llamado
closure
Una closure que define el método.
flags
El tipo de método a crear, puede ser RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED o RUNKIT7_ACC_PRIVATE opcionalmente combinado mediante una operación bit a bit OU con RUNKIT7_ACC_STATIC
doc_comment
El comentario de documentación del método.
return_type
El tipo de retorno del método.
is_strict
Si el método se comporta como si fuera declarado en un fichero con strict_types=1
Valores devueltos#
Esta función retorna true en caso de éxito o false si ocurre un error.
Ejemplos#
Ejemplo de runkit7_method_add
<?php
class Example {
function foo() {
echo "foo!\n";
}
}
// Crear un objeto Example
$e = new Example();
// Añadir un nuevo método público
runkit7_method_add(
'Example',
'add',
'$num1, $num2',
'return $num1 + $num2;',
RUNKIT7_ACC_PUBLIC
);
// Sumar 12 + 4
echo $e->add(12, 4);
?>
El ejemplo anterior mostrará:
16
Véase también#
runkit7_method_copy
runkit7_method_redefine
runkit7_method_remove
runkit7_method_rename
runkit7_function_add