recca0120/repository
Laravel repository pattern package that decouples business logic from Eloquent models. Ships criteria, presenters, cache support, and Artisan generators to scaffold repositories and interfaces quickly, keeping controllers thin and testable.
composer.json constraints (illuminate/*, PHP minimum) against your own upgrade path — a Laravel 12 push is a cross-team roadmap item, not just a dependency bump.Adopt when:
Look elsewhere / hold when:
Migration note (PM action): Plan v3.0 as a paired upgrade with Laravel 12. Sequence: audit composer.json constraints → confirm PHP version floor → run test suite against the new binding → verify no custom repository subclasses relied on removed/changed base methods. Since this is a major bump, budget for a changelog review of 2.7 → 3.0 rather than assuming compatibility.
For executives (one paragraph): We're evaluating a small open-source Laravel add-on that lets our application talk to the database through a clean interface instead of hard-wiring database code everywhere. The v3.0 release's only substantive change is support for Laravel 12 — the current framework release — so adopting it either requires us to already be on Laravel 12, or makes it a natural companion to that upgrade. The value is engineering leverage: easier testing and lower cost when data requirements change. The cost is minimal (small dependency, small learning curve), but it's an internal-architecture choice, not a customer-facing feature, and it carries open-source maintenance risk given the project's low release cadence. Recommendation: no urgent spend; evaluate it as part of the next Laravel upgrade cycle.
For engineering (summary): recca0120/laravel-repository provides repository interfaces and a base implementation over Eloquent. v2.7.0 → v3.0 is a major bump whose only documented change is Laravel 12 compatibility (PR #13, via laravel-shift), which means the 3.x line almost certainly drops support for older Laravel versions — check the composer constraints before you touch composer.json. Two things to decide: (1) do we want a repository layer at all, given this package is thin and you could own the equivalent in-house; (2) do we accept the maintenance profile — one automated compatibility PR and no other visible activity in this release. If we adopt, do it alongside the Laravel 12 upgrade and run the service-layer unit tests against the new container bindings to catch any base-class signature changes.
Caveat to state openly: This assessment is based on the v3.0 release notes only — there is no prior assessment and no README, test coverage, or issue-tracker review behind it. Treat the "dropped older Laravel support" inference as a hypothesis to verify, and revisit if usage or dependency-audit data changes.
How can I help you explore Laravel packages today?