vistik/typed-collections
最新稳定版本:v2.0.2
Composer 安装命令:
composer require vistik/typed-collections
包简介
A simple way to create typed collections in PHP - build on Illuminate\Support\Collection
README 文档
README
What is this?
This is a very simple way to make arrays type hinted!
$list = new UserCollection(new User());
OK
$list = new UserCollection('User');
Will throw:
Vistik\Exception\InvalidTypeException: Item (string) 'User' is not a Vistik\Example\User object!
Install
Run composer require vistik/typed-collections
Use build in Collections for primitives
Out-of-the-box collections for:
- Booleans
- Integers
- Floats
- Strings
- Emails
- Numbers (float or int)
They can be created with out-of-the-box laraval style helpers:
bCollect([true, false])- To create a BoolCollectioniCollect([1, 2, 3, 4])- To create a IntegerCollectionfCollect([3.14, 22/7, 6.66])- To create a FloatCollectionsCollect(['hello', 'world''])- To create a StringCollectioneCollect(['hello@example.org', 'write@me.com'])- To create a EmailCollectionnCollect([1, 2, 3, 4, 3.14, INF])- To create a NumberCollection
Do I have to create a type for each list? Yes, but
Look how easy it is:
use Phpsafari\Example\User;
class UserCollection extends TypedCollection{
protected $type = User::class;
}
2 simple steps
- Create a Class eg.
AccountCollectionextendTypedCollection - Just replace
protected $type = 'Vistik\Example\User';with your class
or
If the check is more then just a is_a check, you can overwrite the function: isValidItem($item) in your new Collection class
Features
- Build upon Illuminate\Support\Collection
- Very simple to implement custom Collections
统计信息
- 总下载量: 28.24k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 0
- 依赖项目数: 5
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-02-12