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

Eloquent Serializer Laravel Package

theofidry/eloquent-serializer

A lightweight serialization layer for Laravel Eloquent models. Define dedicated serializer classes to control which attributes and relationships are exposed, then turn models, collections, and paginated results into clean arrays for APIs and JSON responses.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Serialization architecture for non-Laravel PHP services: Still only relevant to the narrow question of whether to bridge Eloquent into Symfony Serializer or standardize on one ORM/serialization stack. v1.1.0 adds missing Symfony normalizers, which marginally improves serializer coverage, but does not change the strategic answer: standardize, don’t bridge.
  • Build vs. buy for API output: The release reinforces “build/stay native.” For any Laravel product, use Eloquent API Resources, Fractal, Spatie Laravel Data, or JSON:API tooling. v1.1.0 is not a credible buy option for new API output work.
  • Legacy modernization and technical-debt decisions: v1.1.0 is now a precisely datable artifact: it pins PHP ^7.1, Laravel ~5.5.0, Symfony ^3.4 || ^4.0, and PHPUnit ^6.4. That pinning is useful evidence for an isolate/freeze/replace decision on inherited codebases — it proves the dependency is anchored to 2017-era runtimes.
  • Roadmap risk assessment: Unchanged and strengthened. The project remains archived with no meaningful ecosystem validation. A version bump that moves toward older framework constraints rather than forward is a maintenance signal, not a revival signal.
  • Upgrade-path blocking: The ~5.5.0 constraint (>=5.5.0 <5.6.0) means the package cannot be installed on Laravel 5.6 or later at all. This is a hard ceiling on any roadmap that includes a Laravel upgrade, and should be flagged in any dependency audit.
  • Use-case validation: The only credible use case remains a legacy integration where Symfony Serializer is already the canonical serializer and Eloquent is already used outside Laravel, on PHP 7.1-era infrastructure. Mainstream Laravel API product decisions are unaffected.

When to Consider This Package

  • Only for legacy containment: Consider it only where a Symfony 3.4/4.0 application already depends on Eloquent, runs PHP 7.1, and replacing either stack is out of scope for the current release cycle.
  • Marginal setup improvement for existing users: v1.1.0 leverages Laravel provider auto-discovery and adds missing Symfony normalizers, reducing integration boilerplate. This is a quality-of-life gain for teams already pinned to Laravel 5.5 — it is not a reason to adopt.
  • Short-lived internal tooling: Tolerable only for internal, low-risk, non-customer-facing tooling on pinned, frozen versions with a defined retirement date.
  • Migration scaffolding: Acceptable as a temporary bridge with an explicit removal date and named owner, not as a permanent layer.
  • Strong disqualifiers: Do not adopt for new products, public APIs, long-lived services, or anything requiring PHP 8+, Laravel 5.6+, or security patching. v1.1.0 explicitly targets PHP ^7.1 (EOL since 2019), Laravel 5.5 (EOL), and Symfony 3.4/4.0 (EOL). It is still a 2017-era release with minimal ecosystem validation.
  • Look elsewhere when: You are in Laravel and need serialization — use native API Resources, Fractal, Spatie Laravel Data, or JSON:API tooling. If you need Symfony Serializer with Eloquent, prefer an in-house, tested adapter or decouple with DTOs rather than taking an archived dependency.

How to Pitch It (Stakeholders)

Executive summary: The v1.1.0 release is a maintenance bump that moves the package onto PHP 7.1, Laravel 5.5, Symfony 3.4/4.0, and PHPUnit 6.4 — all long past end of life. It is a narrow, archived Symfony Serializer bridge for Eloquent, not a strategic dependency, and should not be approved for new product work. The release adds small conveniences (auto-discovery, additional normalizers) but does not restore maintenance, security support, or forward compatibility.

Engineering recommendation: Treat it as legacy-only. If it is already in the codebase, contain it behind an interface, pin versions, add characterization tests, and schedule replacement — noting that the ~5.5.0 constraint will block any Laravel upgrade beyond 5.6. For new work, standardize on Laravel-native serialization or explicit DTO mapping. Do not read v1.1.0 as a signal of renewed stewardship; it is a version pin to an obsolete stack.

Product framing: This remains a technical-debt decision, not a feature enabler. A version bump that narrows framework compatibility does not reduce delivery risk — investing in a maintained serialization approach is what protects API delivery timelines and future PHP/framework upgrades.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console