(PECL runkit7 >= Unknown)
runkit7_function_redefine — Заменяет определение функции новой реализацией
$function_name
,$argument_list
,$code
,$return_by_reference
= null
,$doc_comment
= null
,$return_type
= ?,$is_strict
= ?$function_name
,$closure
,$doc_comment
= null
,$return_type
= ?,$is_strict
= ?Замечание: По умолчанию, только пользовательские функции могут быть удалены, переименованы или изменены. Для перекрытия внутренних функций, необходимо включить в php.ini опцию
runkit.internal_override
.
function_name
Имя функции для переопределения.
argument_list
Новый список аргументов, принимаемых функцией.
code
Реализация нового кода.
closure
Замыкание (closure), определяющее функцию.
return_by_reference
Определяет, должна ли функция возвращаться по ссылке.
doc_comment
Документальный комментарий функции.
return_type
Тип возвращаемого значения функции.
is_strict
Определяет, должна ли функция вести себя так, как если бы она была объявлена в файле с strict_types=1
.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования runkit7_function_redefine()
<?php
function testme() {
echo "Оригинальная реализация Testme\n";
}
testme();
runkit7_function_redefine('testme','','echo "Новая реализация Testme\n";');
testme();
?>
Результат выполнения приведённого примера:
Оригинальная реализация Testme Новая реализация Testme