sidus/base-serializer-bundle
Symfony bundle that integrates the Sidus base serializer library, wiring configurable serialization services, normalizers, and encoders into the container for converting objects to and from JSON and other formats.
JsonResource, spatie/laravel-data, or standalone symfony/serializer behind an internal interface — this bundle is a reference design for the pattern, not a viable runtime candidate.BaseBundle, not a Laravel package. That closes the decision for any Laravel roadmap item immediately and prevents engineering time being spent on an install spike that cannot resolve.Consider it only when all of the following hold:
BaseBundle; otherwise you inherit a transitive framework layer for marginal gain.php and symfony/* constraints resolve against your runtime — expect PHP 7.x-era caps to conflict with modern stacks.Look elsewhere when:
JsonResource/ResourceCollection, spatie/laravel-data, or standalone symfony/serializer registered in a service provider behind an application-owned interface.#[Groups], #[SerializedName], #[MaxDepth]) have absorbed most of the value; a wrapper adds a maintenance layer for shrinking upside.Net position: reference, don't adopt. The 19.77 opportunity score is consistent with the structural read.
To executives: We evaluated a serialization extension surfaced in our PHP package feed as a potential shortcut for API output work. Recommendation: do not adopt as a dependency. It is a single-author Symfony bundle with zero stars, zero downstream dependents, and no maintenance cadence — abandonment risk transfers entirely to us, and any bug becomes ours to fix. The underlying problem (context-aware serialization of database entities) is real and worth solving, but we should solve it with framework-native tooling or an actively maintained library. Cost of the decision is near zero; cost of the wrong dependency is an upgrade freeze and a data-exposure class of bug.
To engineering: This is a Symfony bundle, not Laravel-compatible — it extends Sidus BaseBundle and its value lives substantially in DI wiring (compiler passes, bundle config trees) that has no Laravel analogue. Its serialization strategy is largely subsumed by native Symfony attributes and by spatie/laravel-data in our stack. Treat it as a pattern reference: read the normalizers, extract how they handle nested graphs, groups, and name conversion, then implement behind an internal serialization interface with contract tests so third-party types never reach application code. Serialization failures are silent — dropped or leaked fields surface as client breakage or data exposure, not exceptions — so we validate depth limits and normalizer ordering ourselves.
Decision and sequencing: No integration work; archive the link for design reference. If serialization pain is on the roadmap, run a 1–2 day timeboxed spike across JsonResource, spatie/laravel-data, and standalone symfony/serializer, then gate on maintenance status and upgrade safety. Reserve a fork-and-own budget only if a concrete gap survives that spike — for a package this small, owning it usually inverts the build-vs-buy math.
How can I help you explore Laravel packages today?