runkit_function_copy
(PECL runkit >= 0.7.0)
runkit_function_copy — Копирует функцию с новым именем
Описание
bool runkit_function_copy
( string
$funcname
, string $targetname
)Список параметров
-
funcname
-
Имя существующей функции
-
targetname
-
Имя новой функции, в которую необходимо копировать существующую
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Примеры
Пример #1 Пример runkit_function_copy()
<?php
function original() {
echo "В функции\n";
}
runkit_function_copy('original','duplicate');
original();
duplicate();
?>
Результат выполнения данного примера:
В функции В функции
Смотрите также
- runkit_function_add() - Добавляет новую функцию аналогично create_function
- runkit_function_redefine() - Заменяет определение функции новой реализацией.
- runkit_function_rename() - Переименовывает функцию
- runkit_function_remove() - Удаляет определенную функцию
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Изменение поведения PHP
- runkit
- Функция Runkit_Sandbox() - Класс Runkit Sandbox -- это виртуальная машина PHP
- Функция Runkit_Sandbox_Parent() - Класс анти-песочницы для Runkit
- runkit_class_adopt
- runkit_class_emancipate
- runkit_constant_add
- runkit_constant_redefine
- runkit_constant_remove
- runkit_function_add
- runkit_function_copy
- runkit_function_redefine
- runkit_function_remove
- runkit_function_rename
- runkit_import
- runkit_lint_file
- runkit_lint
- runkit_method_add
- runkit_method_copy
- runkit_method_redefine
- runkit_method_remove
- runkit_method_rename
- runkit_return_value_used
- runkit_sandbox_output_handler
- runkit_superglobals
Коментарии
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");
}
}
?>
(PHP 5 >= 5.3.0)
class_alias — Creates an alias for a class
function.class-alias
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');
?>