small/collection
最新稳定版本:3.2.2
Composer 安装命令:
composer require small/collection
包简介
Provide PHP collection classes, with a selector to make complex queries on collections.
关键字:
README 文档
README
Provide PHP collection classes, with a selector to make complex queries on collections.
Beware : there is a break in compatibilty with version 1.x
Be careful to set your all packages composer.json to avoid breaking your code
Collection
Collections are classes that you can use as array.
Use it as array
The Small\Collection\Collection class is the base collection class.
You can create an empty collection :
$collection = new \Small\Collection\Collection\Collection();
Or initialize it with an array :
$collection = new \Small\Collection\Collection\Collection([1, 2, 3, 4]);
The collection has the behaviour of an array but is also an object :
$collection = new \Small\Collection\Collection\Collection([1, 2, 3, 4]);
foreach ($collection as $value) {
echo $value;
}
Use it as an object
You can set a value for a specific key :
$collection = new \Small\Collection\Collection\Collection();
$key = 101;
$value = 'test';
$collection->set($key, $value);
And use it :
echo $collection[$key];
Check you're collection items via attributes
You can easily create your own collection with items restrictions
use Small\Collection\Collection\Attribute\CheckItemClass;
#[(CheckItemClass(CustomerEntity::class))]
class CustomerEntityCollection
{}
or
use Small\Collection\Collection\Attribute\CheckItemInterface;
#[CheckItemInterface(CustomerInterface::class)]
class multiCustomerTypeCollection
{}
Collection classes
- Small\Collection\Collection\Collection : generic collection
- Small\Collection\Collection\NumericCollection : numeric collection
- Small\Collection\Collection\StringCollection : string collection
Selector
You can select arrays like it was a database table.
See Small\Collection\Selector\CollectionSelector.
small-collection is a part of small-project
Copyright (c) 2023,2024 Sébastien Kus
under GNU GPL V3 Licence
统计信息
- 总下载量: 1.24k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 14
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-only
- 更新时间: 2023-03-10