for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace RedRat\Presenthor\Bag;
use RedRat\Presenthor\Item\ItemInterface;
/**
* ItemBag Factory
*
* @package RedRat\Presenthor\Bag
*/
class ItemBagFactory
{
* @param array $items
* @return ItemBagInterface
public static function createUnique(array $items): ItemBagInterface
return self::create($items, false);
}
public static function createDuplicated(array $items): ItemBagInterface
return self::create($items, true);
* @param bool $acceptDuplicate
protected static function create(array $items, bool $acceptDuplicate): ItemBagInterface
$itemBag = new ItemBag();
/** @var ItemInterface $item */
foreach ($items as $item) {
if ($item instanceof ItemInterface) {
$itemBag->addItem($item, $acceptDuplicate);
return $itemBag;