PHPackages                             vvval/spiral-array-paginable - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. vvval/spiral-array-paginable

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

vvval/spiral-array-paginable
============================

Wrapper to allow paginate arrays.

v0.1.2(9y ago)02.1k2MITPHPPHP &gt;=7.0

Since Mar 13Pushed 9y agoCompare

[ Source](https://github.com/vvval/spiral-array-paginable)[ Packagist](https://packagist.org/packages/vvval/spiral-array-paginable)[ RSS](/packages/vvval-spiral-array-paginable/feed)WikiDiscussions master Synced today

READMEChangelog (3)Dependencies (4)Versions (4)Used By (2)

spiral-array-paginable
======================

[](#spiral-array-paginable)

Small helper, that grants ability to paginate arrays in RecordSource way. Created for [Spiral Framework](https://github.com/spiral)

[![Latest Stable Version](https://camo.githubusercontent.com/370a36df035de76dd6ca1b96786033019e242aa3c0255eca9ddafd179e275e49/68747470733a2f2f706f7365722e707567782e6f72672f767676616c2f73706972616c2d61727261792d706167696e61626c652f762f737461626c65)](https://packagist.org/packages/vvval/spiral-array-paginable)[![Total Downloads](https://camo.githubusercontent.com/cdc79a2f5fd159031c224a22bb4cdb6a92c40d7b9c127b79c3e981050ff2b7b9/68747470733a2f2f706f7365722e707567782e6f72672f767676616c2f73706972616c2d61727261792d706167696e61626c652f646f776e6c6f616473)](https://packagist.org/packages/vvval/spiral-array-paginable)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/dc12db91ec87781d94165d28bcb8a0de4309fe0cd595fd696813908e9eda778d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f767676616c2f73706972616c2d61727261792d706167696e61626c652f6261646765732f7175616c6974792d73636f72652e706e67)](https://scrutinizer-ci.com/g/vvval/spiral-array-paginable/)[![Coverage Status](https://camo.githubusercontent.com/cbfcccde962ead404c66b201b630fc867eebd8b7633db2599fb7edfac8839445/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f767676616c2f73706972616c2d61727261792d706167696e61626c652f62616467652e737667)](https://coveralls.io/github/vvval/spiral-array-paginable)[![Build Status](https://camo.githubusercontent.com/88887cdcda827ff6f04dcaecfe8e7e96f8b988b9f8d679b1fcc24c9d4b2af081/68747470733a2f2f7472617669732d63692e6f72672f767676616c2f73706972616c2d61727261792d706167696e61626c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/vvval/spiral-array-paginable)

Usage
-----

[](#usage)

```
//Example input data
$data = [
    'one'   => 10,
    'two'   => 20,
    'three' => 30,
    'four'  => 40,
    'five'  => 50,
    'six'   => 60,
    'seven' => 70,
    'eight' => 80,
    'nine'  => 90,
    'ten'   => 100,
];

$paginable = new PaginableArray($data);
$paginable->paginate(5);

//Implements `\Iterator` so you can just use it in foreach cycle
foreach ($paginable as $value) {
    echo $value; // 10, 20, 30, 40, 50 for first page
}

//Also preserves keys. To access them during foreach cycle use `iterate()` method
foreach ($paginable->iterate() as $key => $value) {
    echo $key; // one, two, three, four, five for first page
}
```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Total

3

Last Release

3367d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/786327fc516772d00edb0209477c60cb2bb1e6ea8e9a0dfb62ec4ba5af7612bb?d=identicon)[vvval](/maintainers/vvval)

---

Top Contributors

[![vvval](https://avatars.githubusercontent.com/u/11367763?v=4)](https://github.com/vvval "vvval (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vvval-spiral-array-paginable/health.svg)

```
[![Health](https://phpackages.com/badges/vvval-spiral-array-paginable/health.svg)](https://phpackages.com/packages/vvval-spiral-array-paginable)
```

###  Alternatives

[spatie/robots-txt

Determine if a page may be crawled from robots.txt and robots meta tags

25817.8M29](/packages/spatie-robots-txt)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4216.1M106](/packages/livewire-volt)[glorand/laravel-model-settings

Model Settings for your Laravel app

9141.1M4](/packages/glorand-laravel-model-settings)[prologue/alerts

Prologue Alerts is a package that handles global site messages.

3486.4M36](/packages/prologue-alerts)[cycle/database

DBAL, schema introspection, migration and pagination

65746.2k48](/packages/cycle-database)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
