KONTOLODON
/
var
/
www
/
ojs-3.3.0-13
/
lib
/
pkp
/
lib
/
vendor
/
slim
/
slim
/
Slim
/
Nama File / Folder
Size
Action
Exception
--
NONE
Handlers
--
NONE
Http
--
NONE
Interfaces
--
NONE
CallableResolverAwareTrait.php
1.104KB
Hapus
Edit
Rename
Collection.php
2.993KB
Hapus
Edit
Rename
<?php /** * Slim Framework (https://slimframework.com) * * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use ArrayIterator; use Slim\Interfaces\CollectionInterface; /** * Collection * * This class provides a common interface used by many other * classes in a Slim application that manage "collections" * of data that must be inspected and/or manipulated */ class Collection implements CollectionInterface { /** * The source data * * @var array */ protected $data = []; /** * @param array $items Pre-populate collection with this key-value array */ public function __construct(array $items = []) { $this->replace($items); } /** * {@inheritdoc} */ public function set($key, $value) { $this->data[$key] = $value; } /** * {@inheritdoc} */ public function get($key, $default = null) { return $this->has($key) ? $this->data[$key] : $default; } /** * {@inheritdoc} */ public function replace(array $items) { foreach ($items as $key => $value) { $this->set($key, $value); } } /** * {@inheritdoc} */ public function all() { return $this->data; } /** * Get collection keys * * @return array The collection's source data keys */ public function keys() { return array_keys($this->data); } /** * {@inheritdoc} */ public function has($key) { return array_key_exists($key, $this->data); } /** * {@inheritdoc} */ public function remove($key) { unset($this->data[$key]); } /** * {@inheritdoc} */ public function clear() { $this->data = []; } /** * Does this collection have a given key? * * @param string $key The data key * * @return bool */ public function offsetExists($key) { return $this->has($key); } /** * Get collection item for key * * @param string $key The data key * * @return mixed The key's value, or the default value */ public function offsetGet($key) { return $this->get($key); } /** * Set collection item * * @param string $key The data key * @param mixed $value The data value */ public function offsetSet($key, $value) { $this->set($key, $value); } /** * Remove item from collection * * @param string $key The data key */ public function offsetUnset($key) { $this->remove($key); } /** * Get number of items in collection * * @return int */ public function count() { return count($this->data); } /** * Get collection iterator * * @return ArrayIterator */ public function getIterator() { return new ArrayIterator($this->data); } }