feo-cz/collect

Collect - 将 Illuminate Collections 作为独立包进行收集。

5.8.27 2019-06-21 05:10 UTC

README

Travis Status for tightenco/collect

Collect - Illuminate Collections

轻松将 Laravel 的 Collections 导入非 Laravel 包中,无需要求整个 Illuminate\Support 包。(为什么在框架无关的包中不使用 Illuminate\Support

由 Taylor Otwell 撰写,作为 Laravel 的 Illuminate/Support 包的一部分,Collect 仅包含使用 Collections 所需的 Support 代码。

Matt Stauffer 为 Tighten Co. 精心拆分,并在 @assertchris 的推动下最终完成。

安装

使用 Composer

composer require tightenco/collect

开发

如果您是负责升级 Collect 以匹配 Laravel 新版本的开发者,请从根目录运行 ./upgrade.sh。您可以通过传递参数来指定特定的 Laravel 版本(例如 ./upgrade.sh 5.7.10),或者如果不传递参数,脚本将找到最新的标记版本并针对该版本运行。

升级器将下载指定版本的 Laravel 的适当源代码和测试文件,然后运行测试。

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

升级脚本需要使用 wget。建议安装 homebrew,并运行 brew install wget

测试

由于对 Carbon 的依赖,在您至少在本地上运行 ./upgrade.sh 一次之前,测试将无法通过。

vendor/bin/phpunit

常见问题解答

  • 这个是否会独立于 Illuminate 的 Collections 开发?
    不。目前它是手动拆分的,但目标是很快自动拆分,以保持与 Laravel 的 Collections 同步,甚至可以反映发布号。
  • 为什么包名是 tightenco/collect 而不是 illuminate/collect
    它不是官方的 Laravel 包,所以我们不想使用 Laravel 包保留的 Packagist 命名空间。有一天,Collection 可能会从 illuminate/support 提取到一个新的包中。如果是这样,我们将弃用此包并指向核心版本。
  • 为什么不直接使用数组呢?
    这是一个非常好的问题。Tighten 的校友 Adam Wathan 有关于此的书籍。

许可

Laravel 框架是开源软件,使用 MIT 许可证 许可。Collect 几乎完全由 Laravel 源代码组成,因此保持相同的许可证。