PHP Conference Japan 2024

runkit7_function_redefine

(PECL runkit7 >= 未知)

runkit7_function_redefine 用新的实现替换函数定义

描述

runkit7_function_redefine(
    字符串 $function_name,
    字符串 $argument_list,
    字符串 $code,
    布尔值 $return_by_reference = null,
    字符串 $doc_comment = null,
    字符串 $return_type = ?,
    布尔值 $is_strict = ?
): 布尔值
runkit7_function_redefine(
    字符串 $function_name,
    Closure $closure,
    字符串 $doc_comment = null,
    字符串 $return_type = ?,
    布尔值 $is_strict = ?
): 布尔值

注意: 默认情况下,只能删除、重命名或修改用户空间函数。为了覆盖内部函数,必须在 php.ini 中启用 runkit.internal_override 设置。

参数

function_name

要重新定义的函数名称

argument_list

函数要接受的新参数列表

code

新的代码实现

closure

一个 closure,用于定义函数。

return_by_reference

函数是否应该通过引用返回。

doc_comment

函数的文档注释。

return_type

函数的返回类型。

is_strict

函数的行为是否如同在具有 strict_types=1 的文件中声明一样

返回值

成功时返回 true,失败时返回 false

范例

示例 #1 runkit7_function_redefine() 示例

<?php
function testme() {
echo
"原始 Testme 实现\n";
}
testme();
runkit7_function_redefine('testme','','echo "新的 Testme 实现\n";');
testme();
?>

以上示例将输出

Original Testme Implementation
New Testme Implementation

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top