1 | <?php |
||
11 | class Rules |
||
12 | { |
||
13 | /** |
||
14 | * @var StructAttribute |
||
15 | */ |
||
16 | private $attribute; |
||
17 | /** |
||
18 | * @var AbstractModelFile |
||
19 | */ |
||
20 | private $file; |
||
21 | /** |
||
22 | * @var PhpMethod |
||
23 | */ |
||
24 | private $method; |
||
25 | /** |
||
26 | * @param AbstractModelFile $file |
||
27 | * @param PhpMethod $method |
||
28 | 104 | * @param StructAttribute $attribute |
|
29 | */ |
||
30 | 104 | public function __construct(AbstractModelFile $file, PhpMethod $method, StructAttribute $attribute) |
|
34 | /** |
||
35 | * @param string $parameterName |
||
36 | 104 | * @param bool $itemType |
|
37 | */ |
||
38 | 104 | public function applyRules($parameterName, $itemType = false) |
|
51 | 76 | /** |
|
52 | 76 | * This method is called when an attribute has a union meta which means the attribute is of several types. |
|
53 | 104 | * In this case, the types are currently only of type string (normally) so we add the rules according to each type |
|
54 | * @param string $parameterName |
||
55 | * @param string $itemType |
||
56 | * @param array $unionTypes |
||
57 | */ |
||
58 | 104 | protected function applyUnionRules($parameterName, $itemType, array $unionTypes) |
|
67 | /** |
||
68 | * Generic method to apply rules from current model |
||
69 | * @param AbstractModel $model |
||
70 | * @param string $parameterName |
||
71 | 64 | * @param string $itemType |
|
72 | */ |
||
73 | 64 | protected function applyRulesFromModel(AbstractModel $model, $parameterName, $itemType = false) |
|
84 | /** |
||
85 | 60 | * @param string $metaName |
|
86 | * @return AbstractRule |
||
87 | 60 | */ |
|
88 | protected function getRule($metaName) |
||
98 | /** |
||
99 | * @return ArrayRule |
||
100 | 104 | */ |
|
101 | public function getArrayRule() |
||
105 | /** |
||
106 | * @return EnumerationRule |
||
107 | */ |
||
108 | 104 | public function getEnumerationRule() |
|
112 | /** |
||
113 | * @return ItemTypeRule |
||
114 | */ |
||
115 | public function getItemTypeRule() |
||
119 | 104 | /** |
|
120 | * @return StructAttribute |
||
121 | */ |
||
122 | public function getAttribute() |
||
126 | 104 | /** |
|
127 | * @param StructAttribute $attribute |
||
128 | * @return Rules |
||
129 | */ |
||
130 | public function setAttribute(StructAttribute $attribute) |
||
135 | 104 | /** |
|
136 | * @return AbstractModelFile |
||
137 | */ |
||
138 | public function getFile() |
||
142 | /** |
||
143 | * @param AbstractModelFile $file |
||
144 | * @return Rules |
||
145 | */ |
||
146 | public function setFile(AbstractModelFile $file) |
||
151 | /** |
||
152 | * @return PhpMethod |
||
153 | */ |
||
154 | public function getMethod() |
||
158 | /** |
||
159 | * @param PhpMethod $method |
||
160 | * @return Rules |
||
161 | */ |
||
162 | public function setMethod(PhpMethod $method) |
||
167 | } |
||
168 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: