PHPackages                             tomcizek/prooph-response-recorder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tomcizek/prooph-response-recorder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tomcizek/prooph-response-recorder
=================================

Evil tool for prooph when you want to temporary hide your synchronous CQRS backend behind request/response interface to use in legacy REST or WebApp controllers.

v0.1-alpha(8y ago)07111[1 PRs](https://github.com/tomcizek/prooph-response-recorder/pulls)MITPHPPHP ^7.1

Since Nov 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/tomcizek/prooph-response-recorder)[ Packagist](https://packagist.org/packages/tomcizek/prooph-response-recorder)[ RSS](/packages/tomcizek-prooph-response-recorder/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

tomcizek/prooph-response-recorder
=================================

[](#tomcizekprooph-response-recorder)

[![Build Status](https://camo.githubusercontent.com/19f120b6ac2a40f9e4eae413990686f7bb286a49ff523681e734987d517840bb/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f746f6d63697a656b2f70726f6f70682d726573706f6e73652d7265636f726465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/tomcizek/prooph-response-recorder)[![Quality Score](https://camo.githubusercontent.com/513d53625a7ff8ec200341cf2623ece914ccf146ded36c4a1b30efeab5913fa0/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f746f6d63697a656b2f70726f6f70682d726573706f6e73652d7265636f726465722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/tomcizek/prooph-response-recorder)[![Code Coverage](https://camo.githubusercontent.com/d45c1ab6e91189feaa66d606fbb01d99773436ce81b35443bcd6b95cc312ad77/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f746f6d63697a656b2f70726f6f70682d726573706f6e73652d7265636f726465722e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/tomcizek/prooph-response-recorder)

This is "evil" tool for prooph toolbox.

Why bother then?
----------------

[](#why-bother-then)

If you want to release minimum viable product and you dont want to deal with asynchronous stuff on frontend, like optimistic UI and error handling, because you do not care your commands are processed synchronously, you can hide your synchronous CQRS backend behind request/response interface.

Then you can have nice "proophful backend", well ready to make it asynchronous, but use it with simple or legacy request/response REST or WebApp controllers for frontend. Using this is considered as bad practice, because you loose all good thing prooph can offer to frontend.

But you can use this and when you prove your business concept is good, you can make your frontend shiny and asynchronousful.

Quick start
===========

[](#quick-start)

1) Install this library through composer
----------------------------------------

[](#1-install-this-library-through-composer)

`composer require tomcizek/prooph-response-recorder`

Contribute
----------

[](#contribute)

Please feel free to fork and extend existing or add new features and send a pull request with your changes! To establish a consistent code quality, please provide unit tests for all your changes and may adapt the documentation.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 60% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3115d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/afa4a2b94c2a50c43aafa74d7dba57800b3198e9e98469a3482ca22eb04bff5e?d=identicon)[tomcizek](/maintainers/tomcizek)

---

Top Contributors

[![tomcizek](https://avatars.githubusercontent.com/u/7482237?v=4)](https://github.com/tomcizek "tomcizek (3 commits)")[![enumag](https://avatars.githubusercontent.com/u/539462?v=4)](https://github.com/enumag "enumag (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tomcizek-prooph-response-recorder/health.svg)

```
[![Health](https://phpackages.com/badges/tomcizek-prooph-response-recorder/health.svg)](https://phpackages.com/packages/tomcizek-prooph-response-recorder)
```

###  Alternatives

[ecotone/ecotone

Supporting you in building DDD, CQRS, Event Sourcing applications with ease.

558549.8k17](/packages/ecotone-ecotone)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[jaxon-php/jaxon-core

Jaxon is an open source PHP library for easily creating Ajax web applications

73142.3k25](/packages/jaxon-php-jaxon-core)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[llm/mcp-server

PHP SDK for building MCP servers

431.1k](/packages/llm-mcp-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
