letsgoi/custom-collection

此包已被 废弃,不再维护。作者建议使用 letsgoi/custom-list 包。

PHP 自定义列表包

2.3.0 2024-01-12 06:58 UTC

README

用于封装项目数组以强制相同类型的类。这是为了避免 PHP 数组类型提示问题。

要求

  • PHP >= 8.2

使用

扩展 CustomList 抽象类,并使用 getListType 方法设置项目类型

use Letsgoi\CustomList\CustomList;

class ItemList extends CustomList
{
    protected function getListType(): string
    {
        return Item::class;  
    }
}

//

$items = [new Item(), new Item(), ...];
$list = new ItemList($items);

迭代项目

foreach ($list as $item) {
    //
}

您可以将列表用作数组(设置、获取等)

可用方法

get($key = null)

根据键返回项目或没有键的所有列表

$list->get(0); // 'item'

$list->get(); // ['item', 'item', ...]

add($item)

将项目追加到列表

$list->add($item);

merge(... $customLists)

合并一个或多个自定义列表的元素

$list->merge($list1, $list2 ...);

测试

运行测试

composer test

贡献

欢迎拉取请求。对于重大更改,请先创建一个问题以讨论您想要进行更改的内容。

请确保根据需要更新测试。

许可证

MIT