mayoz/pagination
A lightweight Laravel pagination package that converts arrays, collections, and query results into ready-to-render paginators with customizable views and simple helpers, making it easy to add clean, consistent paging to any app with minimal configuration.
Architecture fit: Poor for new Laravel/PHP work. The package is explicitly unsupported, has only 10 stars, and a 0.14 score. Native Laravel pagination (LengthAwarePaginator, CursorPaginator, SimplePaginator) covers most standard needs. This package is only defensible as a short-lived compatibility layer in a legacy app already depending on it, or as a reference implementation for bespoke pagination behavior.
Integration feasibility: Low to moderate. Composer installation may succeed, but compatibility with current Laravel/PHP versions is uncertain and likely fragile. Integration should be preceded by a usage inventory, dependency audit, and characterization tests. Any unique pagination behavior should be extracted behind an internal adapter before replacing the package.
Technical risk: High. Key risks include abandoned maintenance, no security or framework-compatibility patches, low community validation, and potential conflicts with modern Laravel query/pagination APIs. MIT licensing permits forking, but the organization would assume full ownership. Net-new adoption is not recommended.
Key questions:
Stack fit: Laravel/PHP via Composer, but not aligned with a forward-looking architecture. Prefer native Laravel pagination for new endpoints and services. If the package provides a specific response shape, view presenter, or URL scheme, reimplement that as an internal pagination adapter or presenter rather than adopting the abandoned dependency.
Migration path: Inventory all usages and transitive dependencies. Pin the current version and lockfile if temporary retention is required. Add characterization tests around page links, totals, per-page behavior, query parameters, and edge cases. Introduce an internal pagination interface, wrap package calls behind it, migrate implementations to native Laravel pagination, then remove the package.
Compatibility: Validate against the full target matrix: Laravel versions in use, PHP 8.x minor versions, database drivers, API resources, Blade views, and any custom query builders. Assume incompatibility until proven otherwise. Do not rely on upstream fixes.
Sequencing:
Maintenance: Unsupported upstream. The organization must own all maintenance, including compatibility patches, bug fixes, and security review. This is acceptable only for a bounded legacy migration, not for strategic reuse.
Support: Effectively none from the community or maintainer. Internal support requires documented ownership, a fork policy, and an escalation path. Developer familiarity is likely low given the package’s adoption profile.
Scaling: Pagination itself is usually low-risk at scale, but offset-based pagination can degrade on large datasets. Prefer cursor pagination where appropriate. The package’s abandonment is the larger operational concern, not raw pagination throughput.
Failure modes: Framework-upgrade breakage, query-builder incompatibility, incorrect totals or page links, broken API contracts, silent deprecation, and inability to patch CVEs. Legacy usage may fail only after a Laravel/PHP upgrade, creating delayed and hard-to-diagnose incidents.
Ramp-up: Low for teams using native Laravel pagination; moderate to high for this package because documentation, community examples, and maintainer support are limited. TPM recommendation: do not adopt for net-new work; leverage only as a migration source or reference, with a funded replacement plan.
How can I help you explore Laravel packages today?