listen.php 编写示例
阅读 19
<?php
use app\plugin\PluginHook;
use app\plugin\PluginEvents;
PluginHook::on(PluginEvents::ORDER_PAID, function (array $payload) {
$orderId = (int)($payload['order_id'] ?? 0);
// 写插件自己的结算表,勿直接改主订单核心字段
});
PluginHook::on(PluginEvents::ORDER_VALIDATE_ITEMS, function ($result, array $payload) {
// filter:校验不通过时返回 ['ok'=>false,'msg'=>'...']
return $result;
});
注意:dispatch 与 filter 回调签名不同;filter 必须返回值。耗时任务可写入队列表,由插件自己的 schedule 命令消化。