werxe/laravel-collection-macros

自定义Laravel Collection宏。

v8.0.0 2023-07-22 11:02 UTC

README

Build Status Software License Latest Version on Packagist Total Downloads

Laravel 9的自定义Laravel Collection宏。

此包符合PHP FIG标准PSR-1、PSR-2和PSR-4,以确保共享PHP之间的高度互操作性。如果您注意到任何合规性问题,请通过pull request发送补丁。

版本矩阵

入门

通过运行以下命令通过Composer安装包:

composer require werxe/laravel-collection-macros

默认情况下,所有宏都已启用,宏名称是宏类的小写版本。

如果您想自定义启用的宏或只是重命名宏名称,可以通过发布配置文件来完成,运行:

php artisan vendor:publish --tag="werxe:collection-macros.config"

配置文件现在发布在config/werxe/collection-macros/config.php

文档

可用的宏

increment

在Collection内部递增一个值

$collection = collect([
    'total' => 1,
]);

$collection->increment('total', 2); // 3

decrement

在Collection内部递减一个值

$collection = collect([
    'total' => 3,
]);

$collection->decrement('total', 2); // 1

ksort

按键对Collection进行排序。

$collection = collect(['d' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple']);

$collection->ksort(); // ['a' => 'orange', 'b' => 'banana', 'c' => 'apple', 'd' => 'lemon']

krsort

按键的逆序对Collection进行排序

$collection = collect(['d' => 'lemon', 'a' => 'orange', 'b' => 'banana', 'c' => 'apple']);

$collection->krsort(); // ['d' => 'lemon', 'c' => 'apple', 'b' => 'banana', 'a' => 'orange']

recursive

递归地将嵌套数组转换为Laravel Collections。

$collection = collect([
    'name' => 'John Doe',
    'emails' => [
        'john@doe.com',
        'john.doe@example.com',
    ],
    'contacts' => [
        [
            'name' => 'Richard Tea',
            'emails' => [
                'richard.tea@example.com',
            ],
        ],
    ],
]);

// Convert the nested arrays into Collections
$convertedCollection = $collection->recursive();

// Get the contacts as a Collection
$contacts = $convertedCollection->get('contacts');

贡献

感谢您对Laravel Collection Macros的兴趣。以下是一些贡献的多种方式。

安全

如果您发现任何安全相关问题,请通过电子邮件security@werxe.com报告,而不是使用问题跟踪器。

许可证

Laravel Collection Macros采用MIT许可证(MIT)。有关更多信息,请参阅许可证文件