classkit_method_copy
classkit_method_remove
Funções da Classkit
PHP Manual

# classkit_method_redefine

(PECL classkit >= 0.1)

classkit_method_redefine — Muda dinâmicamente o corpo do método

### Descrição

bool classkit_method_redefine ( string `$classname` , string `$methodname` , string `$args` , string `$code` [, int `$flags` ] )

> Nota: Esta função não pode ser utilizada para manipular o método atualmente em execução (ou encadeado).

Aviso

Esta função é EXPERIMENTAL. O comportamento desta função, seu nome, incluindo toda documentação pode ser modificado sem aviso em futuras versões do PHP. Esta função deve ser usada por sua própria conta e risco.

### Parâmetros

`classname`

  Classe que contém o método que será redefinido

`methodname`

  Método a ser redefinido

`args`

  Parâmetros do método redefinido, mais de um parâmetro deve ser separado por virgula (,)

`code`

  O novo código será executado quando `methodname` for invocado.

`flags`

  Tipo do método, pode ser: `CLASSKIT_ACC_PUBLIC`, `CLASSKIT_ACC_PROTECTED` or `CLASSKIT_ACC_PRIVATE`

  > Nota: Este parâmetro somente é usado na versão 5 ou superior, versão anteriores a 5 os métodos sempre são public.

### Valor Retornado

Retorna `TRUE` em caso de sucesso ou `FALSE` em falhas.

### Exemplos

Exemplo #1 classkit_method_redefine() example

`<?php
class Example {
function foo() {
return "foo!\n";
}
}
// create an Example object
$e = new Example();
// output Example::foo() (before redefine)
echo "Before: " . $e->foo();
// Redefine the 'foo' method
classkit_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
CLASSKIT_ACC_PUBLIC
);
// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>`

O exemplo acima irá imprimir:

    Before: foo!
    After: bar!

### Veja Também

- classkit_method_add() - Adiciona dinamicamente um método a uma classe
- classkit_method_copy() - Copia um método de uma classe para a outra
- classkit_method_remove() - Remove dinamicamente um método da classe
- classkit_method_rename() - Muda dinamicamente o nome de um método

classkit_method_copy
classkit_method_remove
Funções da Classkit
PHP Manual