有效负载中只有标量和数组值的原因是什么?对于具有toString或toArray方法的对象,它可以更灵活吗? 我会使用包含完整ValueObject或类似内容的事件调度,然后我可以构建ReadModel而无需对存储库进行不必要的调用。
答案 0 :(得分:2)
是的,它可以更灵活,但您必须针对消息界面实现自己的基本消息: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。实现者不需要管理有效负载属性,但公共功能payload()应该返回消息数据。受保护的函数setPayload(array $ payload)方法应该重建来自给定有效负载数组的消息数据。
答案 1 :(得分:1)
您还可以在github上关注此主题的讨论:https://github.com/prooph/common/issues/54