【发布时间】:2018-07-01 11:37:03
【问题描述】:
负载中只有标量和数组值的原因是什么?具有 toString 或 toArray 方法的对象可以更灵活吗? 我会使用包含完整 ValueObject 或类似内容的事件调度,然后我可以构建 ReadModel 而无需对存储库进行不必要的调用。
【问题讨论】:
标签: php events cqrs event-sourcing prooph
负载中只有标量和数组值的原因是什么?具有 toString 或 toArray 方法的对象可以更灵活吗? 我会使用包含完整 ValueObject 或类似内容的事件调度,然后我可以构建 ReadModel 而无需对存储库进行不必要的调用。
【问题讨论】:
标签: php events cqrs event-sourcing prooph
是的,它可以更灵活,但您必须针对消息接口实现自己的基本消息:https://github.com/prooph/common/blob/master/docs/messaging.md#custom-messages
prooph 的默认消息实现只允许标量和数组的原因也可以在文档中找到:https://github.com/prooph/common/blob/master/docs/messaging.md#payload
由于 prooph/common 3.x 有效负载不再是消息对象的一部分,而是需要方法来获取/设置有效负载。有效载荷是消息传输的数据。它应该只包含标量类型和子数组,以便可以轻松地进行 json_encoded 和 json_decoded。实现者不需要管理有效负载属性,但公共函数有效负载()应该返回消息数据。受保护的函数 setPayload(array $payload) 方法应该从给定的有效负载数组中重构消息数据。
【讨论】:
你也可以关注github上关于这个话题的讨论:https://github.com/prooph/common/issues/54
【讨论】: