Search by

coolms / entity-module

coolms

Platform composition layer over coolms/entity: reflection field extraction, the tagged repository registry, the extras-flattening normalizer and the entity:find widget renderers

Package info

github.com/coolms/entity-module

pkg:composer/coolms/entity-module

Statistics

Installs: 80

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v2.0.0-alpha1 2026-09-01 18:12 UTC

This package is auto-updated.

Last update: 2026-09-04 08:30:25 UTC


README

CI Latest Version PHP License

Platform composition over coolms/entity: the pieces that need a persistence implementation without naming one.

  • Serializer\ExtrasFlatteningNormalizer -- lifts an entity's $extras bag onto the normalized top level and routes writes back into it, filtered by the instance-aware schema so a field scoped with appliesTo never leaks onto an instance it does not apply to. Types claimed through ExtrasNormalizationExclusionInterface are left alone.
  • TaggedRepositoryRegistry / Resolver\RepositoryEntityAliasResolver -- alias-to-repository lookup over the tagged repository set.
  • ReflectionFieldExtractor / Field\ReflectionEntityFieldDescriptor -- attribute-driven field description.
  • Widget\* -- entity:find and entity:findAll renderers for coolms/dtmpl.

Requires the virtual package coolms/entity-persistence-implementation, which coolms/entity-doctrine provides.

Installation

composer require coolms/entity-module coolms/entity-doctrine

The adapter is part of the install, not a second step. This package requires the virtual coolms/entity-persistence-implementation, and only an adapter provides it, so composer require coolms/entity-module on its own cannot resolve — Composer reports that the virtual package "could not be found in any version", which reads like a broken package rather than a missing argument.

The hard failure is by design. The alternative is a platform that installs cleanly and then cannot persist anything. coolms/entity-doctrine is the adapter that exists today; substitute another if you write one.