Collect

从Laravel Illuminate支持中分离出来的集合。(A Collections-only split from Laravel's Illuminate Support)

Github stars Tracking Chart

Travis Status for tightenco/collect

Collect - Illuminate Collections

Import Laravel's Collections into non-Laravel packages easily, without needing to require the entire Illuminate\Support package. (Why not pull Illuminate\Support in framework-agnostic packages)

Written by Taylor Otwell as a part of Laravel's 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., with a kick in the butt to finally do it from @assertchris.

Installation

With Composer:

composer require tightenco/collect

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, and run brew install wget

Testing

Due to a dependency on Carbon, tests won't pass until you've run ./upgrade.sh at least once locally.

vendor/bin/phpunit

FAQ

  • Will this develop independently from Illuminate's Collections?
    No. Right now it's split manually, but the goal is for it shortly to be split automatically 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.
  • Why not just use an array?
    What a great question. Tighten alum Adam Wathan has a book about that.

License

The Laravel framework is open-sourced software licensed under the MIT license. Collect consists almost entirely of Laravel source code, so maintains the same license.

Overview

Name With Ownertighten/collect
Primary LanguagePHP
Program languagePHP (Language Count: 2)
PlatformBSD, Linux, Mac, Solaris, Windows
License:
Release Count336
Last Release Namev9.52.7 (Posted on )
First Release Namev5.2.31 (Posted on )
Created At2016-05-02 01:50:27
Pushed At2024-01-14 14:38:53
Last Commit At
Stargazers Count1.5k
Watchers Count34
Fork Count108
Commits Count564
Has Issues Enabled
Issues Count51
Issue Open Count3
Pull Requests Count266
Pull Requests Open Count2
Pull Requests Close Count28
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top