©
This document uses PHP Chinese website manual Release
(PECL runkit >= 0.7.0)
runkit_function_copy — Copy a function to a new function name
$funcname
, string $targetname
)
funcname
Name of existing function
targetname
Name of new function to copy definition to
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 A runkit_function_copy() example
<?php
function original () {
echo "In a function\n" ;
}
runkit_function_copy ( 'original' , 'duplicate' );
original ();
duplicate ();
?>
以上例程会输出:
In a function In a function
[#1] gruessle @ gmail dot com [2011-04-27 21:42:16]
(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');
?>
[#2] radon8472 at radon-software dot net [2010-12-07 03:57:05]
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");
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");
}
}
?>