array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.runkit7-method-add.php', 1 => 'runkit7_method_add', ), 'up' => array ( 0 => 'ref.runkit7.php', 1 => 'Функции runkit7', ), 'prev' => array ( 0 => 'function.runkit7-import.php', 1 => 'runkit7_import', ), 'next' => array ( 0 => 'function.runkit7-method-copy.php', 1 => 'runkit7_method_copy', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/runkit7/functions/runkit7-method-add.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL runkit7 >= Unknown)
runkit7_method_add — Динамически добавляет новый метод в заданный класс
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(12, 4);
?>
Результат выполнения приведённого примера:
16