Заменяет определение функции новой реализацией

# runkit7_function_redefine

(PECL runkit7 >= Unknown)

runkit7_function_redefine — Заменяет определение функции новой реализацией

### Описание

function runkit7_function_redefine(
string `$function_name`,
string `$argument_list`,
string `$code`,
bool `$return_by_reference` = `null`,
string `$doc_comment` = `null`,
string `$return_type` = ?,
bool `$is_strict` = ?
): bool
function runkit7_function_redefine(
string `$function_name`,
Closure `$closure`,
string `$doc_comment` = `null`,
string `$return_type` = ?,
bool `$is_strict` = ?
): bool

> Замечание: По умолчанию, только пользовательские функции могут быть удалены, переименованы или изменены. Для перекрытия внутренних функций, необходимо включить в 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

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

- runkit7_function_add() - Добавляет новую функцию, функция аналогична create_function
- runkit7_function_copy() - Копирует функцию в новое имя функции
- runkit7_function_rename() - Изменяет имя функции
- runkit7_function_remove() - Удаляет определение функции
- runkit7_method_redefine() - Динамически изменяет код заданного метода

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open