跳转到主要内容

Laravel 事件

由于在 Events 的各处都埋入了事件类,因此可以将其用于日志和调试。 钩子 也可以做类似的事情,但事件也可以埋入没有钩子的位置。
src/
├── Events/
│   ├── Client/
│   │   ├── ClientStarted.php
│   │   ├── ToolCall.php
│   │   └── PingPong.php
│   ├── JsonRpc/
│   │   ├── MessageReceived.php
│   │   ├── MessageSending.php
│   │   └── ResponseReceived.php
│   ├── Process/
│   │   └── ProcessStarted.php
│   └── Session/
│       ├── CreateSession.php
│       ├── MessageSend.php
│       ├── MessageSendAndWait.php
│       ├── SessionEventReceived.php
│       └── ResumeSession.php
例如可以把耗时较长的处理放到队列或 defer 中执行。这时 Copilot::run() 的结果无法直接获取,但可以通过 MessageSendAndWait 事件的监听器来获取。
dispatch(fn() => Copilot::run(''));
use function Illuminate\Support\defer;

defer(fn() => Copilot::run(''));
最新信息请参考 GitHub 仓库
最后修改于 2026年7月13日