PHP Conference Japan 2024

runkit7_method_add

(PECL runkit7 >= 未知)

runkit7_method_add动态地向给定类添加新方法

描述

runkit7_method_add(
    字符串 $class_name,
    字符串 $method_name,
    字符串 $argument_list,
    字符串 $code,
    整数 $flags = RUNKIT7_ACC_PUBLIC,
    字符串 $doc_comment = null,
    字符串 $return_type = ?,
    布尔值 $is_strict = ?
): 布尔值
runkit7_method_add(
    字符串 $class_name,
    字符串 $method_name,
    Closure $closure,
    整数 $flags = RUNKIT7_ACC_PUBLIC,
    字符串 $doc_comment = null,
    字符串 $return_type = ?,
    布尔值 $is_strict = ?
): 布尔值

参数

class_name

将向其添加此方法的类

method_name

要添加的方法的名称

argument_list

新创建方法的参数的逗号分隔列表

code

调用method_name时要评估的代码

closure

定义方法的闭包

flags

要创建的方法类型,可以是RUNKIT7_ACC_PUBLICRUNKIT7_ACC_PROTECTEDRUNKIT7_ACC_PRIVATE,也可以通过按位 OR 与RUNKIT7_ACC_STATIC组合。

doc_comment

方法的文档注释。

return_type

方法的返回类型。

is_strict

方法的行为是否如同在带有strict_types=1的文件中声明。

返回值

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

范例

示例 #1 runkit7_method_add() 例子

<?php
class Example {
function
foo() {
echo
"foo!\n";
}
}

// 创建一个 Example 对象
$e = new Example();

// 添加一个新的公共方法
runkit7_method_add(
'Example',
'add',
'$num1, $num2',
'return $num1 + $num2;',
RUNKIT7_ACC_PUBLIC
);

// 加上 12 + 4
echo $e->add(12, 4);
?>

以上示例将输出

16

参见

添加注释

用户贡献的注释

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