Substitui uma definição de função por uma nova implementação

# runkit7_function_redefine

(PECL runkit7 >= Unknown)

runkit7_function_redefine — Substitui uma definição de função por uma nova implementação

### Descrição

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

> Nota: Por padrão, apenas funções criadas pelo usuário podem ser removidas, renomeadas ou modificadas. Para sobrescrever funções internas, a configuração `runkit.internal_override` deve ser habilitada no php.ini.

### Parâmetros

`function_name`
  Nome da função a ser redefinida
`argument_list`
  Nova lista de argumentos a serem aceitos pela função
`code`
  Implementação de novo código
`closure`
  Um closure que define a função.
`return_by_reference`
  Informa se a função deve retornar por referência.
`doc_comment`
  O comentário documental da função.
`return_type`
  O tipo de retorno da função.
`is_strict`
  Informa se a função se comporta como se tivesse sido declarada em um arquivo com `strict_types=1`.

### Valor Retornado

Retorna `true` em caso de sucesso ou `false` em caso de falha.

### Exemplos

Exemplo #1 Um exemplo de runkit7_function_redefine()

    <?php
    function testme() {
      echo "Implementação original de Testme\n";
    }
    testme();
    runkit7_function_redefine('testme','','echo "Nova implementação de Testme\n";');
    testme();
    ?>

O exemplo acima produzirá:

    Implementação original de Testme
    Nova implementação de Testme

### Veja Também

- runkit7_function_add() - Adiciona uma nova função, semelhante a create_function
- runkit7_function_copy() - Copia uma função para um novo nome de função
- runkit7_function_rename() - Altera o nome de uma função
- runkit7_function_remove() - Remove uma definição de função
- runkit7_method_redefine() - Altera dinamicamente o código do método fornecido

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