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

Sf Shared Repository Laravel Package

loicpennamen/sf-shared-repository

A shared repository package for Symfony applications that provides a reusable base repository layer, centralizing common data-access logic and reducing duplication across entities while keeping persistence code consistent and maintainable. Ideal for teams seeking a clean, reusable data-access founda...

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework-fit decision (flag first): despite being scoped as a "Laravel/PHP package," this is a Symfony 4 / Doctrine ORM library — it subclasses Doctrine's ServiceEntityRepository. If our stack is Laravel/Eloquent, this package cannot be adopted at all; the only decision it informs is "reuse the pattern, not the code." Confirm the target stack before this enters any evaluation backlog.
  • Build vs. buy for back-office tooling: the package's value proposition is narrow and well-understood — server-side pagination, sorting, and filtering for jQuery DataTables against Doctrine repositories. A PM should treat this as a cost-of-build input: an experienced engineer can implement an equivalent query-builder adapter in roughly 1–3 days. Adoption only wins if it saves more than the integration + due-diligence + ongoing-maintenance cost, which for an unmaintained single-author package it likely does not.
  • Admin/ops roadmap acceleration: if we have several internal CRUD screens (audit logs, order lists, user management) that all need the same "searchable, sortable, paginated table" behavior, the real decision is whether to standardize on a shared internal DataTables adapter. Whether we write it or fork this, the product outcome is the same: consistent admin UX, less per-screen engineering, faster internal-tool delivery.
  • Dependency policy / risk register: this is a useful test case for our dependency governance. Bitbucket-hosted (no Packagist-style discoverability, no star signal), score 0, 0 dependents, single maintainer, targeting an end-of-life Symfony major (4.x). A PM should use it to pressure-test the rule "no production dependency without a named maintainer, a release cadence, and an upgrade path."
  • Vendor-lock and exit-cost assessment: because the surface area is one repository class, the exit cost is genuinely low. That's the strongest argument for time-boxed evaluation — but it's also an argument that copying the ~single class into our codebase captures ~100% of the benefit with ~0% of the supply-chain risk.
  • Not a differentiator. Nothing here touches customer-facing capability. Do not let it consume roadmap capacity beyond a spike.

When to Consider This Package

Reasonable to evaluate only when all of the following hold:

  • We are on Symfony 4.x with Doctrine ORM and already extend ServiceEntityRepository in our entity repositories.
  • The UI is server-rendered with jQuery DataTables doing server-side processing (not a SPA/API-driven table).
  • The screens are internal/admin-facing, where a bug is recoverable and not customer-visible.
  • We are willing to vendor or fork the code — i.e., we accept ownership of it — rather than depend on upstream.
  • A time-boxed spike (≤1 day) confirms it handles our query shapes (joins, composite filters, security-scoped queries) without leaking raw request parameters into the query builder.

Look elsewhere — or just build it — when:

  • Any Laravel/Eloquent codebase. Wrong abstraction entirely.
  • Symfony 5.4+/6.x/7.x. Symfony 4 is past end-of-life; pinning a helper to it creates an upgrade blocker, not a convenience.
  • API-first or SPA frontends. DataTables server-side protocol is a poor fit for JSON APIs consumed by React/Vue; a standard paginator plus filter DTOs is the better contract.
  • Public-facing or multi-tenant surfaces where authorization filtering must be enforced centrally. A convenience wrapper around query building is exactly where row-level access control silently gets bypassed — that needs our own reviewed code.
  • Any context requiring an SBOM, license provenance, or security review. The license is not evident from the listing, there are no dependents to signal peer review, and there is no observable release history. Unverifiable provenance is a hard stop for anything touching production data.

How to Pitch It (Stakeholders)

Executive summary: A small, single-author Symfony 4 helper that makes Doctrine repositories easier to query from jQuery DataTables admin grids. It is not a Laravel package, it targets an end-of-life framework version, it has no dependents and no visible maintenance, and its entire functionality is a thin wrapper one of our engineers could reproduce in a couple of days.

Recommendation: do not take it as a dependency. Treat it as a reference implementation. Have an engineer spend a short spike reading it for query-builder patterns, then build a small internal DataTables adapter we own — scoped to our auth model, our Symfony version, and our support policy. We capture the idea, avoid the supply-chain risk, and keep the upgrade path clean.

For engineering: the interesting part is the pattern, not the package — it centralizes filter/sort/paginate handling so controllers and repositories stay thin. Adopt the pattern; own the code.

For leadership: near-zero cost either way, but non-zero risk if adopted. The decision is not "is this useful?" (mildly) but "do we want an unmaintained, unversioned, single-maintainer dependency in our admin stack to save two engineering days?" The answer should be no, and the two days are worth spending.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin