PHPackages                             tightenco/collect - 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. tightenco/collect

Abandoned → [illuminate/collections](/?search=illuminate%2Fcollections)ArchivedLibrary[Utility &amp; Helpers](/categories/utility)

tightenco/collect
=================

Collect - Illuminate Collections as a separate package.

v9.52.7(3y ago)1.5k21.2M—8.6%112[3 issues](https://github.com/tighten/collect/issues)[2 PRs](https://github.com/tighten/collect/pulls)20MITPHPPHP ^8.0

Since May 2Pushed 2y ago32 watchersCompare

[ Source](https://github.com/tighten/collect)[ Packagist](https://packagist.org/packages/tightenco/collect)[ RSS](/packages/tightenco-collect/feed)WikiDiscussions laravel-9-ongoing Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (346)Used By (20)

[![Tighten Collect Logo Banner](https://raw.githubusercontent.com/tighten/collect/master/collect-logo.png)](https://raw.githubusercontent.com/tighten/collect/master/collect-logo.png)

Collect - Illuminate Collections
================================

[](#collect---illuminate-collections)

[![Latest Version on Packagist](https://camo.githubusercontent.com/c1087b906fd6d3bc0f4cbe5f38f33be0dcee4f0cf418cc4aea7fa29bf5b219bf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7469676874656e636f2f636f6c6c6563742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tightenco/collect)[![Total Downloads](https://camo.githubusercontent.com/910986e1dac65e4490527cc68362d97895f885b62f4396381c8f96ed68d146a7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7469676874656e636f2f636f6c6c6563742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/tightenco/collect)[![Build Status](https://github.com/tighten/collect/workflows/Run%20tests/badge.svg)](https://github.com/tighten/collect/actions/workflows/run-tests.yml)

Deprecated: With the separation of [Illuminate's Collections package](https://packagist.org/packages/illuminate/collections), Collect is no longer necessary 🎉 . We will maintain it for the 8.0 and 9.0 releases of Laravel for the convenience of package maintainers, and will stop mirroring new major versions after 9.0, but keep the existing package here for continued support.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#deprecated-with-the-separation-of-illuminates-collections-package-collect-is-no-longer-necessary-tada--we-will-maintain-it-for-the-80-and-90-releases-of-laravel-for-the-convenience-of-package-maintainers-and-will-stop-mirroring-new-major-versions-after-90-but-keep-the-existing-package-here-for-continued-support)

Import [Laravel's Collections](https://laravel.com/docs/collections) into non-Laravel packages easily, without needing to require the entire `Illuminate\Support` package. ([Why not pull `Illuminate\Support` in framework-agnostic packages](https://mattallan.org/posts/dont-use-illuminate-support/))

Written by Taylor Otwell as a part of Laravel's [Illuminate/Support](https://github.com/illuminate/support) package, Collect is just the code from Support needed in order to use Collections on their own.

Lovingly split by Matt Stauffer for [Tighten Co.](https://tighten.co/), with a kick in the butt to finally do it from [@assertchris](https://github.com/assertchris).

Installation
------------

[](#installation)

With [Composer](https://getcomposer.org):

```
composer require tightenco/collect
```

Development
-----------

[](#development)

If you are a developer working on Collect and you're tasked with upgrading it to mirror a new version of Laravel, run `./upgrade.sh` from the root directory. You can pass a parameter to target a specific Laravel version (e.g. `./upgrade.sh 5.7.10`) or, if you don't pass a parameter, the script will find the latest tagged release and run against that.

The upgrader will pull down the appropriate source and test files for the specified version of Laravel and then run the tests.

```
./upgrade.sh
# or
./upgrade.sh 5.7.10
```

> The upgrade script requires the use of `wget`. It's recommended to install [homebrew](https://brew.sh), and run `brew install wget`

Testing
-------

[](#testing)

**Due to a [dependency on Carbon](https://github.com/tighten/collect/commit/4afe1fcb40f1c10e399730562c2c7ca36c6fba01), tests won't pass until you've run `./upgrade.sh` at least once locally.**

```
vendor/bin/phpunit
```

FAQ
---

[](#faq)

- **Has this ever, or will it ever, develop independently from Illuminate's Collections?**No. Using an upgrade script, it's split automatically with every Laravel release to keep it in sync with Laravel's Collections, even mirroring the release numbers.
- **Why is the package `tightenco/collect` instead of `illuminate/collect`?**It's not an official Laravel package so we don't want to use the Packagist namespace reserved by Laravel packages. One day `Collection` may be extracted from `illuminate/support` to a new package. If so, we'll deprecate this package and point to the core version. Now that `illuminate/collections` has been released, we're deprecating this package.
- **Why not just use an array?**What a great question. [Tighten alum Adam Wathan has a book about that.](https://adamwathan.me/refactoring-to-collections/)

License
-------

[](#license)

The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). Collect consists almost entirely of Laravel source code, so maintains the same license.

###  Health Score

61

—

FairBetter than 99% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity72

Solid adoption and visibility

Community52

Growing community involvement

Maturity88

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~7 days

Recently: every ~14 days

Total

336

Last Release

1130d ago

Major Versions

v8.83.5 → v9.4.12022-03-21

v8.83.6 → v9.6.02022-04-01

v8.83.11 → v9.9.02022-05-12

v8.83.25 → v9.26.12022-09-02

v8.83.27 → v9.37.02023-01-13

PHP version history (9 changes)v5.2.31PHP &gt;=5.5.9

v5.3.23PHP &gt;=5.6.4

v5.5.2PHP &gt;=7.0

v5.6.0PHP &gt;=7.1.3

v5.6.34PHP ^7.1.3

v8.14.0PHP ^7.2

v8.16.0PHP ^7.2|^8.0

v8.78.1PHP ^7.3|^8.0

v9.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/151829?v=4)[Matt Stauffer](/maintainers/mattstauffer)[@mattstauffer](https://github.com/mattstauffer)

---

Top Contributors

[![mattstauffer](https://avatars.githubusercontent.com/u/151829?v=4)](https://github.com/mattstauffer "mattstauffer (163 commits)")[![jamisonvalenta](https://avatars.githubusercontent.com/u/2752727?v=4)](https://github.com/jamisonvalenta "jamisonvalenta (104 commits)")[![besologic](https://avatars.githubusercontent.com/u/122173?v=4)](https://github.com/besologic "besologic (45 commits)")[![antonioribeiro](https://avatars.githubusercontent.com/u/3182864?v=4)](https://github.com/antonioribeiro "antonioribeiro (24 commits)")[![damiani](https://avatars.githubusercontent.com/u/357312?v=4)](https://github.com/damiani "damiani (10 commits)")[![soilSpoon](https://avatars.githubusercontent.com/u/9105017?v=4)](https://github.com/soilSpoon "soilSpoon (7 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (5 commits)")[![vinkla](https://avatars.githubusercontent.com/u/499192?v=4)](https://github.com/vinkla "vinkla (4 commits)")[![driesvints](https://avatars.githubusercontent.com/u/594614?v=4)](https://github.com/driesvints "driesvints (2 commits)")[![valeryan](https://avatars.githubusercontent.com/u/1508761?v=4)](https://github.com/valeryan "valeryan (2 commits)")[![kapersoft](https://avatars.githubusercontent.com/u/13007854?v=4)](https://github.com/kapersoft "kapersoft (1 commits)")[![bkintanar](https://avatars.githubusercontent.com/u/685928?v=4)](https://github.com/bkintanar "bkintanar (1 commits)")[![carusogabriel](https://avatars.githubusercontent.com/u/16328050?v=4)](https://github.com/carusogabriel "carusogabriel (1 commits)")[![flug](https://avatars.githubusercontent.com/u/1810304?v=4)](https://github.com/flug "flug (1 commits)")[![josecanhelp](https://avatars.githubusercontent.com/u/2329654?v=4)](https://github.com/josecanhelp "josecanhelp (1 commits)")[![aaemnnosttv](https://avatars.githubusercontent.com/u/1621608?v=4)](https://github.com/aaemnnosttv "aaemnnosttv (1 commits)")[![mpociot](https://avatars.githubusercontent.com/u/804684?v=4)](https://github.com/mpociot "mpociot (1 commits)")[![radmen](https://avatars.githubusercontent.com/u/1190255?v=4)](https://github.com/radmen "radmen (1 commits)")[![redgluten](https://avatars.githubusercontent.com/u/7190090?v=4)](https://github.com/redgluten "redgluten (1 commits)")[![svenluijten](https://avatars.githubusercontent.com/u/11269635?v=4)](https://github.com/svenluijten "svenluijten (1 commits)")

---

Tags

hacktoberfestilluminate-collectionslaravellaravelcollection

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tightenco-collect/health.svg)

```
[![Health](https://phpackages.com/badges/tightenco-collect/health.svg)](https://phpackages.com/packages/tightenco-collect)
```

###  Alternatives

[pragmarx/ia-collection

Laravel Illuminate Agnostic Collection

473.4M2](/packages/pragmarx-ia-collection)[pragmarx/coollection

Laravel Illuminate collection with objectified properties

943.4M11](/packages/pragmarx-coollection)[armincms/json

A Laravel Nova field.

25149.4k3](/packages/armincms-json)[lazerg/laravel-enum-pro

A powerful PHP enum extension with collection support, random selection, and magic static calls

4319.0k](/packages/lazerg-laravel-enum-pro)[werxe/laravel-collection-macros

Custom Laravel Collection macros.

2625.8k](/packages/werxe-laravel-collection-macros)[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)

PHPackages © 2026

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