| @@ 9-27 (lines=19) @@ | ||
| 6 | /** |
|
| 7 | * An implementation of ParserInterface used to parse a float value. |
|
| 8 | */ |
|
| 9 | class FloatParser extends AbstractParser |
|
| 10 | { |
|
| 11 | /** |
|
| 12 | * @param $rawValue |
|
| 13 | * @return float|null |
|
| 14 | * |
|
| 15 | * @throws ParsingException |
|
| 16 | */ |
|
| 17 | public function parse($rawValue) |
|
| 18 | { |
|
| 19 | if ($rawValue === null || $rawValue === '') { |
|
| 20 | return null; |
|
| 21 | } |
|
| 22 | if(!is_float($rawValue) && !is_int($rawValue) && !is_numeric($rawValue)) { |
|
| 23 | $this->throw(); |
|
| 24 | } |
|
| 25 | return floatval($rawValue); |
|
| 26 | } |
|
| 27 | } |
|
| 28 | ||
| @@ 10-28 (lines=19) @@ | ||
| 7 | * Class IntParser |
|
| 8 | * @package MetaHydrator\Parser |
|
| 9 | */ |
|
| 10 | class IntParser extends AbstractParser |
|
| 11 | { |
|
| 12 | /** |
|
| 13 | * @param $rawValue |
|
| 14 | * @return mixed |
|
| 15 | * |
|
| 16 | * @throws ParsingException |
|
| 17 | */ |
|
| 18 | public function parse($rawValue) |
|
| 19 | { |
|
| 20 | if ($rawValue === null || $rawValue === '') { |
|
| 21 | return null; |
|
| 22 | } |
|
| 23 | if (!is_int($rawValue) && !ctype_digit($rawValue)) { |
|
| 24 | $this->throw(); |
|
| 25 | } |
|
| 26 | return intval($rawValue); |
|
| 27 | } |
|
| 28 | } |
|
| 29 | ||