1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License)
*/
namespace Slim\Interfaces;
use ArrayAccess;
use Countable;
use IteratorAggregate;
interface CollectionInterface extends ArrayAccess, Countable, IteratorAggregate
{
/**
* Set collection item
*
* @param string $key The data key
* @param mixed $value The data value
*/
public function set($key, $value);
/**
* Get collection item for key
*
* @param string $key The data key
* @param mixed $default The default value to return if data key does not exist
*
* @return mixed The key's value, or the default value
*/
public function get($key, $default = null);
/**
* Add item to collection, replacing existing items with the same data key
*
* @param array $items Key-value array of data to append to this collection
*/
public function replace(array $items);
/**
* Get all items in collection
*
* @return array The collection's source data
*/
public function all();
/**
* Does this collection have a given key?
*
* @param string $key The data key
*
* @return bool
*/
public function has($key);
/**
* Remove item from collection
*
* @param string $key The data key
*/
public function remove($key);
/**
* Remove all items from collection
*/
public function clear();
}
|