small / collection
Provide PHP collection classes, with a selector to make complex queries on collections.
Requires
- php: >=8.1
Requires (Dev)
- pestphp/pest: *
- phpstan/phpstan: ^1.10
- rector/rector: 0.19.*
- symfony/var-dumper: *
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 MyCollection
{}
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