PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / Config / Parameter / BooleanConfigParameter.php

BooleanConfigParameter.php in User Access Manager trunk, at src/Config/Parameter/BooleanConfigParameter.php

42 lines 896 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace UserAccessManager\Config\Parameter;
6
7 use Exception;
8 use UserAccessManager\Config\Config;
9
10 class BooleanConfigParameter extends ConfigParameter
11 {
12 /**
13 * @throws Exception
14 */
15 public function __construct(string $id, mixed $defaultValue = false)
16 {
17 parent::__construct($id, $defaultValue);
18 }
19
20 private function convertToBoolean(mixed $value): mixed
21 {
22 if (in_array($value, [1, '1', 'true'], true)) {
23 $value = true;
24 } elseif (in_array($value, [0, '0', 'false'], true)) {
25 $value = false;
26 }
27
28 return $value;
29 }
30
31 public function setValue(mixed $value): void
32 {
33 $value = (bool) $this->convertToBoolean($value);
34 parent::setValue($value);
35 }
36
37 public function isValidValue(mixed $value): bool
38 {
39 return is_bool($value);
40 }
41 }
42