PHP Velho Oeste 2024

runkit_function_copy

(PECL runkit >= 0.7.0)

runkit_function_copy Copy a function to a new function name

Descrição

runkit_function_copy ( string $funcname , string $targetname ) : bool

Parâmetros

funcname

Name of existing function

targetname

Name of new function to copy definition to

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em caso de falha.

Exemplos

Exemplo #1 A runkit_function_copy() example

<?php
function original() {
  echo 
"In a function\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>

O exemplo acima irá imprimir:

In a function
In a function

Veja Também

add a note add a note

User Contributed Notes 2 notes

up
0
radon8472 at radon-software dot net
13 years ago
If you don`t have this function, yuo can use this:

<?php
 
// functions.inc.php : written by Radon8472 (2010-11-16) -- last modified: 2010-12-07

  // include guard
 
if( !defined("FUNCTIONS_INC_PHP") )
  {
   
define("FUNCTIONS_INC_PHP","1.0");

   
/**
      * Copy a function to a new function name
      *
      * @author: Radon8472
      * @version: 1.0 (2010-12-07)
      *
      * @param: string   $funcname        Name of existing function
      * @param: string   $targetname      Name of new function to copy definition to
      *
      * @return: Returns TRUE on success or FALSE on failure.
      * @todo: find a way to copy functions with refferece parameters
      */
   
function func_alias($funcname, $targetname)
    {
     
$ok = true;
      if( !
function_exists($funcname) ) $ok = false;
      if(
function_exists($targetname)) $ok = false;

      if(
$ok )
      {
       
$command = "function ".$targetname."() { ";
       
$command.= "\$args = func_get_args(); ";
       
$command.= "return call_user_func_array(\"".$funcname."\", \$args); }";

        @eval(
$command);
        if( !
function_exists($targetname) ) $ok = false;
      }
      return
$ok;
    }

   
func_alias("func_alias","function_copy");
    if(!
function_exists("runkit_function_copy"))
    {
     
func_alias("func_alias","runkit_function_copy");
    }
  }
?>
up
-2
gruessle @ gmail dot com
13 years ago
(PHP 5 >= 5.3.0)
class_alias — Creates an alias for a class
http://php.net/manual/en/function.class-alias.php

For (PHP 5 < 5.3.0) you can use following:

<?php
if ( ! function_exists('class_alias')) {
    function
class_alias($original, $alias) {
        eval(
'abstract class ' . $alias . ' extends ' . $original . ' {}');
    }
}

class_alias('print_r', 'printr');
?>
To Top