| @@ 21-26 (lines=6) @@ | ||
| 18 | 'storage' => [], |
|
| 19 | ]; |
|
| 20 | ||
| 21 | if ($diff = array_diff(array_keys($options), array_keys($defaults))) { |
|
| 22 | throw new \InvalidArgumentException(sprintf( |
|
| 23 | 'Unexpected field option keys: "%s". Allowed keys: "%s"', |
|
| 24 | implode('", "', $diff), implode('", "', array_keys($defaults)) |
|
| 25 | )); |
|
| 26 | } |
|
| 27 | ||
| 28 | $options = array_merge($defaults, $options); |
|
| 29 | ||
| @@ 49-54 (lines=6) @@ | ||
| 46 | ]; |
|
| 47 | ||
| 48 | foreach ($config['fields'] as $fieldName => $fieldConfig) { |
|
| 49 | if ($diff = array_diff(array_keys($fieldConfig), array_keys($defaults))) { |
|
| 50 | throw new \InvalidArgumentException(sprintf( |
|
| 51 | 'Invalid configuration key(s) "%s" for field "%s" on class "%s", valid keys: "%s"', |
|
| 52 | implode('", "', $diff), $fieldName, $class->getName(), implode('", "', array_keys($defaults)) |
|
| 53 | )); |
|
| 54 | } |
|
| 55 | ||
| 56 | $fieldConfig = array_merge($defaults, $fieldConfig); |
|
| 57 | $propertyMetadata = new PropertyMetadata( |
|