downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

runkit_function_remove> <runkit_function_copy
[edit] Last updated: Fri, 24 Feb 2012

view this page in

runkit_function_redefine

(PECL runkit >= 0.7.0)

runkit_function_redefine Replace a function definition with a new implementation

Descrição

bool runkit_function_redefine ( string $funcname , string $arglist , string $code )

Nota: Por padrão, apenas funções do usuário podem ser removidas, renomeadas ou modificadas. Para poder modificar funções internas, você deve ativar a definição runkit.internal_override no php.ini.

Parâmetros

funcname

Name of function to redefine

arglist

New list of arguments to be accepted by function

code

New code implementation

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em falhas.

Exemplos

Exemplo #1 A runkit_function_redefine() example

<?php
function testme() {
  echo 
"Original Testme Implementation\n";
}
testme();
runkit_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

O exemplo acima irá imprimir:

Original Testme Implementation
New Testme Implementation

Veja Também



add a note add a note User Contributed Notes runkit_function_redefine
lucato at gmail dot com 25-Dec-2011 04:10
Note to users: language constructs (eval, die, exit, isset, unset, echo etc.) which might be confused with functions, cannot be renamed or redefined even with runkit.internal_override.
corentin dot delorme at linagora dot com 05-Sep-2007 06:04
Here is another example with a parameter:

<?php

function hello_world($word) {
  echo
"Original Hello World: $word\n</br>";
}

$helloWorld = 'echo "Redefined Hello World: $word\n</br>";';

hello_world('test1');

runkit_function_redefine('hello_world', '$word', $helloWorld);

hello_world('test2');

?>

 
show source | credits | sitemap | contact | advertising | mirror sites