17
17
*/
18
18
final class GenericOptions {
19
19
20
- /**
21
- * @var array
22
- */
23
- private $ options = [];
20
+ private array $ options = [];
24
21
25
22
/**
26
23
* @since 0.2
27
24
*
28
25
* @throws InvalidArgumentException
26
+ * @param mixed[] $options
29
27
*/
30
28
public function __construct ( array $ options = [] ) {
31
29
foreach ( array_keys ( $ options ) as $ option ) {
@@ -42,12 +40,10 @@ public function __construct( array $options = [] ) {
42
40
*
43
41
* @since 0.2
44
42
*
45
- * @param string $option
46
43
* @param mixed $value
47
- *
48
44
* @throws InvalidArgumentException
49
45
*/
50
- public function setOption ( $ option , $ value ) {
46
+ public function setOption ( string $ option , $ value ): void {
51
47
if ( !is_string ( $ option ) ) {
52
48
throw new InvalidArgumentException ( 'Option name needs to be a string ' );
53
49
}
@@ -61,11 +57,10 @@ public function setOption( $option, $value ) {
61
57
*
62
58
* @since 0.2
63
59
*
64
- * @param string $option
65
60
*
66
61
* @throws OutOfBoundsException
67
62
*/
68
- public function getOption ( $ option ) {
63
+ public function getOption ( string $ option ) {
69
64
if ( !array_key_exists ( $ option , $ this ->options ) ) {
70
65
throw new OutOfBoundsException ( sprintf ( "Option '%s' has not been set so cannot be obtained " , $ option ) );
71
66
}
@@ -78,11 +73,9 @@ public function getOption( $option ) {
78
73
*
79
74
* @since 0.2
80
75
*
81
- * @param string $option
82
76
*
83
- * @return bool
84
77
*/
85
- public function hasOption ( $ option ) {
78
+ public function hasOption ( string $ option ): bool {
86
79
return array_key_exists ( $ option , $ this ->options );
87
80
}
88
81
@@ -91,10 +84,9 @@ public function hasOption( $option ) {
91
84
*
92
85
* @since 0.2
93
86
*
94
- * @param string $option
95
87
* @param mixed $default
96
88
*/
97
- public function defaultOption ( $ option , $ default ) {
89
+ public function defaultOption ( string $ option , $ default ): void {
98
90
if ( !$ this ->hasOption ( $ option ) ) {
99
91
$ this ->setOption ( $ option , $ default );
100
92
}
@@ -106,11 +98,10 @@ public function defaultOption( $option, $default ) {
106
98
*
107
99
* @since 0.2
108
100
*
109
- * @param string $option
110
101
*
111
102
* @throws RuntimeException
112
103
*/
113
- public function requireOption ( $ option ) {
104
+ public function requireOption ( string $ option ): void {
114
105
if ( !$ this ->hasOption ( $ option ) ) {
115
106
throw new RuntimeException ( 'Required option" ' . $ option . '" is not set ' );
116
107
}
@@ -121,9 +112,9 @@ public function requireOption( $option ) {
121
112
*
122
113
* @since 0.2
123
114
*
124
- * @return array
115
+ * @return mixed[]
125
116
*/
126
- public function getOptions () {
117
+ public function getOptions (): array {
127
118
return $ this ->options ;
128
119
}
129
120
0 commit comments