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

Presenter Laravel Package

culturegr/presenter

Culturegr Presenter is a lightweight Laravel package for the presenter pattern. Wrap Eloquent models or plain data objects in presenter classes to keep formatting, computed values, and view logic out of models and controllers, with a clean, testable API.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Roadmap / upgrade planning: v1.7.0 is a compatibility release — Laravel 13 support — not a feature release. The decision it informs is when this dependency enters your Laravel 13 migration path, not whether to build product functionality on it. Treat it as a line item in the framework-upgrade checklist: pin, run suite on a branch, resolve peer constraints.
  • Build vs buy: pagination assertions are genuinely cheap to hand-roll (a handful of test macros). The buy case rests entirely on contract fidelity — the package's value is that its stubs track the framework's own paginator contract. This release is evidence for both sides: the stub drifted from the contract (missing withQueryString()) and was corrected by the maintainer rather than by you. That maintenance is the thing you are paying for.
  • Test-quality investment / risk reduction: the withQueryString() addition means assertions now exercise query-string preservation on paginated links. This closes a specific, high-annoyance failure mode: green test suites shipping paginated URLs that silently drop ?page=2&filter=.... It upgrades the package from "counts and totals" to "links that actually round-trip."
  • Use cases it unlocks or hardens: API contract tests on paginated JSON (links / meta), regression tests around page / per_page / filter combinations, consumer-driven contract tests for mobile or partner clients that reconstruct URLs, and shared assertion vocabulary across multiple Laravel apps.
  • Prioritization signal: zero product-facing work is requested of your team. Assign Tier-2 maintenance ownership, no sprint allocation beyond the framework upgrade itself. (Baseline note: no prior assessment existed for this package, so this document is the initial baseline rather than a delta.)

When to Consider This Package

Consider it when:

  • You assert on paginated responses or pagination links and want those assertions to track the framework's paginator contract instead of your team's approximation of it.
  • You are planning, or already committed to, Laravel 13 — this release is the gate for that.
  • You run several Laravel services and want one shared, consistent assertion vocabulary rather than N bespoke test helpers.
  • Your test suite has previously produced false confidence around pagination (passing tests, broken client-side paging).

Look elsewhere, or skip, when:

  • Hand-rolled assertions already cover your response shapes — the marginal value is contract tracking, and if you only assert counts and totals, framework primitives suffice.
  • You depend on another package that ships its own paginator stubs; overlapping stubs are a real conflict and debugging cost.
  • You are on Laravel ≤10 with no upgrade horizon — verify the supported-version matrix before adoption, since this release signals where maintainer attention now sits.
  • Your pagination surface is small and single-app; the coordination overhead outweighs the benefit.
  • Standing caveat: a stub is a stand-in, not the real paginator. Require at least one smoke test against a real paginated response so stub-vs-framework divergence is caught by you rather than by production.

How to Pitch It (Stakeholders)

For executives: This is low-cost test infrastructure, not a product dependency. The v1.7.0 release is housekeeping — it keeps our pagination tests trustworthy as we move to Laravel 13. There is no budget decision and no customer-facing change; the only ask is that it appears on the framework-upgrade checklist so we don't discover the gap mid-migration.

For engineering: v1.7.0 adds Laravel 13 support and brings the paginator stub into line with the Laravel 13 contract by implementing withQueryString(). No public API break, no deprecations, no migration work beyond the framework upgrade itself. Two concrete actions: (1) confirm Composer peer-constraint resolution against Laravel 13 on a branch and run the suite; (2) add one smoke test against a real paginated response so the stub is validated against the framework, not just against itself. Worth flagging that the stub previously lagged a framework contract method — that class of drift is the package's main ongoing risk and the reason the smoke test is non-optional.

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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
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
cgv/localized-resource