genealabs/laravel-casts
GeneaLabs Laravel Casts adds flexible custom attribute casting to Eloquent models, making it easy to map database columns to value objects, DTOs, and other PHP classes. Keeps model code clean and cast logic reusable, testable, and simple to configure.
<x-input> with @props). That reframes the decision from "is this dependency worth it?" to "does it do anything the framework doesn't?" On a modern stack, no. The package remains useful as a reference for macro structure, not as something to depend on.Tel field") describe Blade form macros; a separate description.md describes an Eloquent custom-cast layer for value objects. For a PM this is a finding, not a footnote: when a dependency's own metadata cannot tell you what it does, the due-diligence surface has already failed. Treat the release notes as authoritative (form macros) and verify src/ and composer.json before any decision — do not decide off the listing, and do not adopt it on the strength of the casting description.Consider it only under narrow, usually legacy, conditions:
0.13.3 (the Tel label fix; anything earlier renders tel fields wrong) while migration is scoped. Treat it as frozen, not supported.Look elsewhere when any of the following is true:
propaganistas/laravel-phone, moneyphp/money, or native CastsAttributes behind a boundary you control.laravelcollective/html into the graph. That dependency is archived too. If it is already present and pinned for other reasons, the marginal cost is lower; if not, write the macros yourself. Run composer why laravelcollective/html before proceeding.spatie/laravel-html, which is actively maintained.For executives: This is a small, abandoned utility package — 109 stars, zero dependents, no release since February 2024 — that saves a modest amount of repetitive template code. The framework now does the same job natively. There is no licensing cost (MIT), but there is a permanent ownership cost: every future Laravel or PHP upgrade becomes our work item with nobody upstream to fix it. Recommendation: no new adoption; if it is already in the stack, schedule a scoped removal in the next maintenance window rather than waiting for an upgrade to force it. First, confirm what we actually have — the package's own listing and documentation describe two different products, so a short source review precedes any decision.
For engineering: Treat this as frozen. Pin exactly 0.13.3, wrap every macro call in a project-owned partial so call sites survive the removal, and keep one HTML-assertion feature test per form using it — that suite is the only compatibility signal we will get. Verify three things on first use: that labels and attribute values are escaped, that old() repopulation works on a failed validation round-trip, and that the field's error message renders adjacent to the input. Before committing, check the real require block and whether laravelcollective/html comes with it; that library is archived as well and owns Form::open's CSRF and method-spoofing behaviour. Replacement is mechanical: Blade components for markup, native CastsAttributes for any value-object work. The package's description.md is a documentation error, not a feature set — do not use it as grounds for adoption.
How can I help you explore Laravel packages today?