Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 19
0.00% covered (danger)
0.00%
0 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
Collection
0.00% covered (danger)
0.00%
0 / 19
0.00% covered (danger)
0.00%
0 / 6
132
0.00% covered (danger)
0.00%
0 / 1
 offsetExists
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 offsetGet
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 offsetSet
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
12
 offsetUnset
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 count
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 saveEntities
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace BO\Zmsdldb\Importer\MySQL\Entity;
4
5class Collection implements \Countable, \ArrayAccess
6{
7    protected $entities = [];
8
9    final public function offsetExists($offset): bool
10    {
11        return array_key_exists($offset, $this->entities);
12    }
13
14    final public function offsetGet($offset)
15    {
16        if ($this->offsetExists($offset)) {
17            return $this->entities[$offset];
18        }
19        throw new \InvalidArgumentException(__METHOD__ . " offset({$offset}) has not been set!");
20    }
21
22    final public function offsetSet($offset, $value): Collection
23    {
24        if (!$value instanceof Base) {
25            throw new \InvalidArgumentException(
26                __METHOD__ . ' $value must be an instance of \\BO\\Zmsdldb\\Importer\\MySQL\\Entity\\Base'
27            );
28        }
29        if (null === $offset) {
30            $this->entities[] = $value;
31        } else {
32            $this->entities[$offset] = $value;
33        }
34        return $this;
35    }
36
37    final public function offsetUnset($offset): Collection
38    {
39        unset($this->entities[$offset]);
40        return $this;
41    }
42
43    final public function count(): int
44    {
45        return count($this->entities);
46    }
47
48    public function saveEntities()
49    {
50        try {
51            foreach ($this->entities as $entity) {
52                $entity->save();
53            }
54        } catch (\Exception $e) {
55            throw $e;
56        }
57    }
58}