PluginProbe
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance / 3.2.21
WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance v3.2.21
4.7.0 4.6.1 4.6.0 4.5.5 4.5.4 4.5.3 4.5.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.5 3.2.6 3.2.7 3.2.9 3.3.0 3.3.1 3.3.2 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.7.0 3.7.1 All 111 releases
wp-optimize / vendor / rosell-dk / webp-convert / src / Options / StringOption.php

StringOption.php in WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance 3.2.21, at vendor/rosell-dk/webp-convert/src/Options/StringOption.php

56 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WebPConvert\Options;
4
5 use WebPConvert\Options\Option;
6 use WebPConvert\Options\Exceptions\InvalidOptionValueException;
7
8 /**
9 * Abstract option class
10 *
11 * @package WebPConvert
12 * @author Bjørn Rosell <[email protected]>
13 * @since Class available since Release 2.0.0
14 */
15 class StringOption extends Option
16 {
17
18 protected $typeId = 'string';
19 protected $enum;
20 protected $schemaType = ['string'];
21
22 public function __construct($id, $defaultValue, $enum = null)
23 {
24 $this->enum = $enum;
25 parent::__construct($id, $defaultValue);
26 }
27
28 public function check()
29 {
30 $this->checkType('string');
31
32 if (!is_null($this->enum) && (!in_array($this->getValue(), $this->enum))) {
33 throw new InvalidOptionValueException(
34 '"' . $this->id . '" option must be on of these values: ' .
35 '[' . implode(', ', $this->enum) . ']. ' .
36 'It was however set to: "' . $this->getValue() . '"'
37 );
38 }
39 }
40
41 public function getValueForPrint()
42 {
43 return '"' . $this->getValue() . '"';
44 }
45
46 public function getDefinition()
47 {
48 $obj = parent::getDefinition();
49 $obj['sensitive'] = false;
50 if (!is_null($this->enum)) {
51 $obj['options'] = $this->enum;
52 }
53 return $obj;
54 }
55 }
56