mittax / objectcollection
一个用于处理PHP对象列表的非常简单的库
0.1.0
2016-12-20 13:58 UTC
Requires
- php: >=7.0
Requires (Dev)
README
帮助您使用PHP >=7.0构建类型化列表
安装
composer require mittax/objectcollection
用法
创建一个objectCollectionAbstract子类,通过构造函数添加一个对象列表到集合中
这里是一个示例抽象。进一步查看Tests。有一些基本用法被记录在文档中
<?php /** * Created by PhpStorm. * User: pboethig * Date: 14.12.16 * Time: 20:10 */ namespace Mittax\MediaConverterBundle\Collection; use Mittax\ObjectCollection\CollectionAbstract; /** * Class StorageItem * @package Mittax\MediaConverterBundle\Collection */ class StorageItem extends CollectionAbstract { /** * StorageItem constructor. * @param \Mittax\MediaConverterBundle\Entity\Storage\StorageItem[] $items */ public function __construct(Array $items) { parent::__construct(); foreach ($items as $item) { $this->add($item); } } /** * @param $filename * @return \Mittax\MediaConverterBundle\Entity\Storage\StorageItem[] */ public function filterByFilename( string $filename) : Array { return $this->filterByPropertyNameAndValue('filename', $filename); } /** * @return \Mittax\MediaConverterBundle\Entity\Storage\StorageItem */ public function getFirstItem() : \Mittax\MediaConverterBundle\Entity\Storage\StorageItem { return parent::getFirstItem(); } /** * @return \Mittax\MediaConverterBundle\Entity\Storage\StorageItem[] */ public function getAllItems() : Array { return parent::getAllItems(); } }
使用抽象
实例化您的抽象子类,并将包含您的对象的数组传递给构造函数。得到的集合是您上下文中的类型
$items = [$fileStorageItem, $fileStorageItem1, $fileStorageItem1]; $collection = new Collection\StorageItem($items); $collection->filter($fileStorageItem->getFilename());
结果是类型为StorageItem的类型化列表
运行测试
phpunit