waffle-commons / serializer
Compiled, reflection-free DTO serialization and Accept-header content negotiation for the Waffle framework.
Requires
- php: ^8.5
- waffle-commons/contracts: dev-main
Requires (Dev)
- carthage-software/mago: ^1.50
- cyclonedx/cyclonedx-php-composer: ^6.2
- igor-php/igor-php: ^0.9.7
- php-mock/php-mock-phpunit: ^2.15
- phpunit/phpunit: ^12.5
- vimeo/psalm: ^6.19
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-31 16:36:55 UTC
README
Waffle Serializer Component
Release: unreleased ย |ย
CHANGELOG.mdStatus: In development for0.1.0-beta7โ roadmap[API-02](RFC-016). Normalizers are compiled per DTO at build time;data/'s Hydrator stays DB-only.
Compiled, reflection-free DTO serialization and Accept-header content negotiation for the Waffle framework.
๐ฆ Installation
composer require waffle-commons/serializer
๐งญ Architectural boundary (mago guard)
Waffle\Commons\Serializer depends only on waffle-commons/contracts (plus waffle-commons/utils
for shared primitives) and the PSR interfaces โ never on a sibling component's concrete classes. Every
interface it implements lands in waffle-commons/contracts first.
๐งต Worker safety
Services are resident in FrankenPHP worker mode: no mutable state may survive a request. Anything that
holds per-request state implements ResettableInterface directly; composer igor must report 0 KO.
๐งช Testing
composer mago # formatter, linter, analyzer, guard โ clean means zero output composer tests # PHPUnit 12.5, line coverage โฅ 95 % composer igor # worker-safety audit
๐ Documentation
Full documentation tree: waffle-commons/documentation
๐ License
MIT โ see LICENSE.md.