0

有效载荷中只有标量和数组值的原因是什么?具有 toString 或 toArray 方法的对象可以更灵活吗?我会使用包含完整 ValueObject 或类似事物的事件调度,然后我可以构建 ReadModel 而无需对存储库进行不必要的调用。

4

2 回答 2

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。实现者不需要管理有效负载属性,但公共函数有效负载()应该返回消息数据。受保护的函数 setPayload(array $payload) 方法应该从给定的有效负载数组中重构消息数据。

于 2018-01-22T22:19:28.923 回答
1

你也可以关注github上关于这个话题的讨论:https ://github.com/prooph/common/issues/54

于 2018-01-23T07:23:34.347 回答