1 | <?php |
||
13 | class SetStrings implements \Countable, \IteratorAggregate |
||
14 | { |
||
15 | /** @var array */ |
||
16 | protected $members; |
||
17 | |||
18 | 39 | public function __construct(array $members = []) |
|
23 | |||
24 | 39 | public function clear() |
|
28 | |||
29 | 39 | public function addAll(array $members) |
|
30 | { |
||
31 | 39 | foreach ($members as $member) { |
|
32 | 14 | $this->add($member); |
|
33 | } |
||
34 | 39 | } |
|
35 | |||
36 | 1 | public function all() |
|
40 | |||
41 | 18 | public function add($member) |
|
53 | |||
54 | 23 | public function cast($member) |
|
55 | { |
||
56 | 23 | if (is_object($member)) { |
|
57 | $member = is_callable([$member, '__toString']) ? (string) $member : ''; |
||
58 | } |
||
59 | 23 | return strval($member); |
|
60 | } |
||
61 | |||
62 | 6 | public function contains($member) |
|
67 | |||
68 | 1 | public function remove($member) |
|
73 | |||
74 | public function getIterator() |
||
78 | |||
79 | 10 | public function count() |
|
83 | } |
||
84 |