Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Reconstitutor Laravel Package

rekalogika/reconstitutor

Rekalogika Reconstitutor is a PHP library for rebuilding objects from persisted data. It maps database rows or arrays to typed objects through a simple reconstitution API, helping keep persistence logic separate from domain models.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for post-commit entity lifecycle: Rather than building bespoke hooks around Doctrine’s flush/commit cycle, this package provides a maintained abstraction for reconstituting entities after transactions. Release 2.5.0 specifically hardens edge cases (begin-flush-clear-commit, detach during a transaction), reducing the custom code and QA burden a product team would otherwise carry.
  • Feature roadmap for reliable side effects: Supports post-commit workflows such as transactional outbox, domain events, audit logging, and cache invalidation where stale or detached entities are a real risk. The new negative tests and transaction fixes increase confidence for roadmap items that depend on consistent state after commit.
  • Risk and reliability decisions: The 2.5.0 fixes target failure modes that typically surface only in production under nested or unusual transaction flows. Adopting this release is a low-risk reliability improvement rather than a feature bet.
  • Platform currency: Symfony 8 support allows the team to keep dependency upgrades on the roadmap without being blocked by this package.

When to Consider This Package

Consider adoption when:

  • The product uses Doctrine ORM and has non-trivial post-transaction logic (events, outbox, audit, re-reads) where detached or stale entities have caused bugs.
  • The team is on Symfony, or on Laravel with Doctrine, and wants a maintained, tested solution rather than in-house lifecycle hooks.
  • You need confidence around transaction edge cases — the 2.5.0 changes (begin-flush-clear-commit, detach-during-transaction handling, negative tests) directly address scenarios that are hard to test internally.
  • You are planning a Symfony 8 upgrade and want dependencies that are already compatible.

Look elsewhere when:

  • The application is Laravel-native Eloquent with no Doctrine layer; the package’s value proposition does not apply.
  • The product only performs simple CRUD with no post-commit side effects, where the added abstraction is unjustified.
  • The team requires Laravel-first event/outbox tooling with framework-native integrations rather than a Doctrine-centric component.
  • You cannot accept a smaller-community dependency for core transaction behavior and prefer a fully in-house or vendor-supported solution.

How to Pitch It (Stakeholders)

For executives: This is a small, actively maintained PHP dependency that reduces the risk of data inconsistency after database transactions. The 2.5.0 release is a low-risk upgrade: it fixes tricky transaction edge cases and adds test coverage, with no breaking changes. It supports upcoming platform upgrades (Symfony 8), so it lowers both operational risk and future upgrade friction at minimal cost.

For engineering: Version 2.5.0 is a minor, backwards-compatible release. It improves correctness in begin-flush-clear-commit flows, handles entity detachment during transactions, adds negative tests and cleanup, and permits Symfony 8. No migration work is expected; the main action is to validate the new edge-case behavior against our transaction patterns and include it in the next dependency bump. It remains a good fit where Doctrine post-commit entity state matters; it is not relevant for Eloquent-only code paths.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect