runkit7_method_add

(PECL runkit7 >= Unknown)

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

Описание

runkit7_method_add(
    string $class_name,
    string $method_name,
    string $argument_list,
    string $code,
    int $flags = RUNKIT7_ACC_PUBLIC,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool
runkit7_method_add(
    string $class_name,
    string $method_name,
    Closure $closure,
    int $flags = RUNKIT7_ACC_PUBLIC,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool

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

class_name

Класс, в котором нужно добавить метод.

method_name

Имя метода, который нужно добавить.

argument_list

Разделённый запятыми список аргументов для нового метода.

code

Код, который будет выполняться при вызове method_name.

closure

Замыкание (closure), определяющее метод.

flags

Метод может быть RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED или RUNKIT7_ACC_PRIVATE, и, при необходимости, объединён с помощью побитового ИЛИ с RUNKIT7_ACC_STATIC.

doc_comment

Документальный комментарий метода.

return_type

Тип возвращаемого значения метода.

is_strict

Определяет, будет ли метод вести себя так, как если бы он был объявлен в файле с strict_types=1.

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

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

Примеры

Пример #1 Пример использования runkit7_method_add()

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

// создание объекта Example
$e = new Example();

// добавление нового общедоступного метода
runkit7_method_add(
    
'Example',
    
'add',
    
'$num1, $num2',
    
'return $num1 + $num2;',
    
RUNKIT7_ACC_PUBLIC
);

// добавление 12 + 4
echo $e->add(124);
?>

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

16

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top