Manual do PHP
Anterior |  | Próxima

# classkit_method_redefine

(PECL)

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).

Atenção
Esta função é EXPERIMENTAL. Isso quer dizer que o comportamento desta função e seu nome, incluindo TUDO o que está documentado aqui pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use esta função 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.

## Valores de 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()
classkit_method_copy()
classkit_method_remove()
classkit_method_rename()

Anterior | Principal | Próxima
classkit_method_copy | Acima | classkit_method_remove