PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Setting / Control / OptionCollection.php
codepress-admin-columns / classes / Setting / Control Last commit date
Input 3 days ago OptionCollectionFactory 3 days ago Type 3 days ago Input.php 3 days ago OptionCollection.php 3 days ago OptionCollectionFactory.php 3 days ago
OptionCollection.php
64 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Setting\Control;
6
7 use AC\Collection;
8 use AC\Setting\Control\Type\Option;
9
10 final class OptionCollection extends Collection
11 {
12 public function __construct(array $options = [])
13 {
14 array_map([$this, 'add'], $options);
15 }
16
17 public static function from_array(array $data, bool $associative = true): self
18 {
19 $self = new self();
20
21 foreach ($data as $key => $value) {
22 if (! $associative) {
23 $key = $value;
24 }
25
26 $self->add(new Option((string)$value, (string)$key));
27 }
28
29 return $self;
30 }
31
32 public function contains(string $value): bool
33 {
34 return $this->find($value) !== null;
35 }
36
37 public function find(string $value): ?Option
38 {
39 foreach ($this->data as $option) {
40 if ($option->get_value() === $value) {
41 return $option;
42 }
43 }
44
45 return null;
46 }
47
48 public function add(Option $item): void
49 {
50 $this->data[] = $item;
51 }
52
53 public function current(): Option
54 {
55 return current($this->data);
56 }
57
58 public function first(): ?Option
59 {
60 return parent::first();
61 }
62
63 }
64