事件
Feed 在运行命令时会分发两个事件:
DragonCode\LaravelFeed\Events\FeedStartingEvent—FeedStartingEvent在存储和路径预检完成后、解析转换器和开始暂存之前分发。此时不保证草稿文件已经存在。DragonCode\LaravelFeed\Events\FeedFinishedEvent—FeedFinishedEvent在所有生成的文件成功发布后分发。生成失败时不会分发此事件。
两个事件都公开 $feed 和可为 null 的 $target:前者包含生成的 Feed 类,后者包含目标键。对于普通 Feed,$target 为 null。
完成事件契约
完成事件公开以下 public 属性:
$paths按输出顺序包含所有已发布文件的路径。$path为保持向后兼容而保留,其中包含第一个发布路径。当 Feed 可能拆分为多个文件时,请使用$paths。
GeneratorService::feed() 返回一个 GenerationResultData 对象。其 $paths 属性包含相同顺序的路径,$records 属性将每个路径映射到写入该文件的记录数。