rgasch/illuminate-collection-extended

Laravel 的 Collection 类的扩展类,增加了额外功能。

v1.0.2 2023-03-27 20:35 UTC

This package is auto-updated.

Last update: 2024-09-27 23:52:34 UTC


README

rgasch/illuminate-collection-extended 是 Laravel 的 Collection 类的一个小扩展,为 Collection 类提供了一些额外功能。

安装

首选的安装方法是使用 Composer。运行以下命令安装该包并将其添加到项目的 composer.json 文件中作为需求项

composer require rgasch/illuminate-collection-extended

特性

此类的主要特性是实现 Collection 上的 __get() 和 __set() 方法。这意味着您可以使用 '->' 语法获取和设置 Collection 元素。例如

    $collection = new Rgasch\Collection(['a'=>0, 'b'=>1]);
    $a = $collection->a;
    print "a = $a\n";

上述代码将检索 Collection 数组中的 'a' 元素,因此打印 "0"。

需要注意的是,通过 '->' 运算符检索元素会进行测试以验证您试图检索的元素是否实际存在;当尝试检索一个不存在的元素时,将抛出 InvalidArgumentException 异常。这种行为的理由是,这将在尝试访问 Collection 元素时标记出错误和愚蠢的错误。

同样,您可以使用 "->" 运算符设置元素。例如

    $collection = new Rgasch\Collection(['a'=>0, 'b'=>1]);
    $collection->a = -1;
    $collection->c = 2;

上述代码将生成包含 [ 'a'=>-1, 'b'=>1, 'c'=>2 ] 的集合

此类还提供了一个 create 方法,可用于从提供的输入创建一个集合。此方法还可选地接受一个名为 recursive 的第二个 boolean 参数,该参数指定是否应将嵌套数组/对象转换为嵌套 Collection。有关详细信息,请参阅 tests/CollectionTest.php