You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP嵌套函数OOP:如何通过EventBuilder动态为事件添加操作?

动态向EventBuilder添加操作的实现方案

你的思路完全可行,只需要结合EventBuilder的方法设计调整代码即可:

这类Builder模式的库,addOperation方法通常会返回当前实例本身,以此支持链式调用。所以你不需要在循环里重复给$action赋值,直接调用方法就能在原实例上添加操作。

最终的正确代码如下:

// 初始化EventBuilder实例
$action = new EventBuilder($target);

// 按条件循环添加操作
while (/* 这里替换为你的实际循环条件 */) {
    // 直接调用addOperation,无需重新赋值
    $action->addOperation($OperationX);
}

// 所有操作添加完成后执行编译
$compiledResult = $action->compile();

如果特殊情况下addOperation返回的是新实例(这种设计极少),那你原来的赋值写法$action = $action->addOperation($OperationX)也是有效的,只要确保最后调用compile()的是循环结束后的最终实例。

你可以简单验证addOperation的返回逻辑:执行var_dump($action === $action->addOperation($testOperation)),若输出bool(true),说明返回的是同一个对象,无需重新赋值。

内容的提问来源于stack exchange,提问作者Proper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 09:42:31