问题标签 [prooph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
678 浏览

php - Prooph,我如何通过本地命令总线和 BernardMessageProducer 路由一些消息

我已经让命令总线启动并运行了一段时间,并开发了很多我的应用程序。现在它们是我希望异步处理的一些命令。我已经添加了 BernardMessageProducer,这一切似乎都有效。我只想将窗帘命令发送到异步总线,其余的在本地处理。

这可能吗,我该怎么做。我已经写了一个命令路由器,但是在命令总线处理完消息之后。

谢谢

0 投票
1 回答
259 浏览

php - 聚合,DomainEvent 与 Prooph

我正在开发一个应用程序,它在验证后抓取 HTML 提要。这些网站仅支持电子邮件/密码身份验证,但某些集成可能需要额外信息。所以我的问题现在是在创建域事件和聚合时应该得到的具体问题吗?我与 Prooph 合作过,并创建了仅处理单个实体类型的简单聚合和域事件。但现在我想知道聚合和域事件是否应该针对这些第三方网站抓取工具。每个提要刮板应该有一个事件,还是创建一个通用事件并更好地聚合?每个聚合的属性可能不同。

然后类似的领域事件

还是创建单个聚合和域事件会更好?这两个网站都使用。请记住,支持的网站列表将会增加。

0 投票
1 回答
195 浏览

php - 如何解决 Prooph 中 InMemoryEventStore 和 PdoEventStore 不兼容的问题?

我正在以某种方式测试我的命令处理程序:

基本上,当命令处理程序中没有验证逻辑时,我只测试快乐的场景。我通过检查预期事件是否已发布到事件总线来测试它。在使用 whenHandleCommand 方法将测试命令发送到命令总线之前,我开始记录发送的事件,例如:

最后我只是检查记录的事件并断言这是我所期望的。MysqlEventStore但是我在and之间切换时遇到问题InMemoryEventStore,因为MysqlEventStore不是事务性的(因此在saveAggregateRoot方法中发出事件),而不是InMemoryEventStore事务性的(因此在提交方法中发出事件)。

我的存储库保存方法很简单:

如何做到这一点,以便我可以更改我想使用的任何事件存储(内存或 pdo)并且它会起作用?我应该if($this->isTransactionalEventStore())在我的存储库中有条件(然后开始事务并提交)吗?我不喜欢那样。:(

为什么只有 InMemoryEventStore 是事务性的?不应该更好地同时拥有InMemoryTransactionalEventStoreInMemoryEventStore吗?因为我希望我的测试使用 InMemoryEventStore 运行,而通常我使用 PdoEventStore。

编辑:当我将 InMemoryEventStoreFactory 中的第 100 行更改为

并制作InMemoryEventStore工具EventStore而不是TransactionalEventStore,一切正常。所以要么我以某种方式没有正确使用 prooph 并且不需要它,或者它可以通过 PR 轻松修复并拆分ImMemoryEventStoreInMemoryTransactionalEventStoreand InMemoryEventStore

0 投票
1 回答
111 浏览

event-sourcing - Get current no from prooph event store

I try to update a projection from event store. The following line will load all events:

Currently i try to load only not handled events by passing the fromNumber parameter:

This will load all events eg from 15 to 40. But i found no way to figure out which is the current/highest "no" of the results. But this is necessary for me to load only from this entry on the next time.

If the database is truncated (with restarted sequences) this is not a real problem cause i know that the events will start with 1. But if the primary key starts with a number higher than 1 can not figure out which event has which number in the event store

0 投票
1 回答
385 浏览

php - Symfony DI 容器中的配置证明

prooph service busesevent source和配置了所有内容event store

但这是让我感到困惑的一件事。我必须调用: $eventPublisher = $this->container->get('event_publisher');在我的CommandBusFactory中将 事件发射器和事件总线粘合在一起,以便通过总线将域事件(从聚合根)分派到投影仪。没有这个,我的预测就不会被调用。

我的服务:链接

有 Symfony DI(扩展和 CompilerPass)经验的人可以帮助我吗?

0 投票
2 回答
184 浏览

php - 事件有效负载中的 Prooph 和对象

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

0 投票
1 回答
93 浏览

php - 通过 Prooph 中的 ID 以外的其他属性获取聚合

在不知道他的 ID 但知道其他独特属性的情况下,如何最简单地从聚合存储库获取聚合?例如,我的CartID 为 AggregateId 和ownerId其他属性。

0 投票
1 回答
66 浏览

cqrs - 是否可以在 prooph cqrs 中只为事件源创建一个动态表?

是否可以在 prooph CQRS + ES 中只为事件源创建一个动态表,而不是为每个 ID 创建一个新表?

我正在使用本教程https://pilsniak.com/cqrs-es-php-prooph/

0 投票
2 回答
593 浏览

php - 等待 PROOPH 中投影创建的读取模型中的新记录

我使用 prooph(https://github.com/prooph)所以我有我的写模型,我在其中存储如下事件(汇总表):

写模型

当我使用命令在后台运行投影时:

我已经阅读了如下模型:

读取模型

在我的后台应用程序前面,我有休息 API,我在其中创建事件:

通过网址:

我收到代码 201。

之后,我通过 url 刷新我的列表:

问题是有时这个新事件没有被投影处理。所以问题是:

如何处理这个问题?

  1. 我应该等待 2 秒还是一段时间?(丑陋的 hack 对我来说)。
  2. 我应该在插入后处理事件 - 不要在后台使用投影过程吗?
0 投票
1 回答
270 浏览

php - 对 Laravel CommandBus 的证明无法识别 CommandHandler

我有一个 laravel 5.7 应用程序,我想在其中添加事件溯源的证明。我已按照说明进行操作,但我检索到此错误:

这是我的 config/prooph.php 文件

这是我发送命令的服务

这是我的命令

这是我的处理程序

有人可以帮我解决这个问题吗?