runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_addДинамически добавляет новый метод в класс

Описание

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

Список параметров

classname

Класс, в который будет добавлен метод

methodname

Имя добавляемого метода

args

Список параметров, принимаемых методом, через запятую

code

Код нового метода, который будет выполняться при вызове methodname

closure

Функция определяющая замыкание (closure).

flags

Создаваемый метод может быть RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED или RUNKIT_ACC_PRIVATE опционально в комбинации через побитовое ИЛИ с RUNKIT_ACC_STATIC (начиная с версии 1.0.1)

doc_comment

Документирующий комментарий к функции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Список изменений

Версия Описание
runkit 1.0.4 Добавлен альтернативный синтаксис с использованием замыканий (closure).
runkit 1.0.4 Был добавлен необязательный параметр doc_comment.

Примеры

Пример #1 Пример runkit_method_add()

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

// создаем экземпляр Example
$e = new Example();

// добавляем новый публичный метод
runkit_method_add(
    
'Example',
    
'add',
    
'$num1, $num2',
    
'return $num1 + $num2;',
    
RUNKIT_ACC_PUBLIC
);

// вычисляем 12 + 4
echo $e->add(124);
?>

Результат выполнения данного примера:

16

Смотрите также