PHP 8.1.0 Released!

runkit7_method_add

(PECL runkit7 >= Unknown)

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

Описание

runkit7_method_add(
    string $classname,
    string $methodname,
    string $args,
    string $code,
    int $flags = RUNKIT7_ACC_PUBLIC,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool
runkit7_method_add(
    string $classname,
    string $methodname,
    Closure $closure,
    int $flags = RUNKIT7_ACC_PUBLIC,
    string $doc_comment = null,
    string $return_type = ?,
    bool $is_strict = ?
): bool

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

classname

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

methodname

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

args

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

code

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

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 add a note

User Contributed Notes

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