Version 1
[yaffs-website] / vendor / symfony / config / Definition / FloatNode.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Config\Definition;
13
14 use Symfony\Component\Config\Definition\Exception\InvalidTypeException;
15
16 /**
17  * This node represents a float value in the config tree.
18  *
19  * @author Jeanmonod David <david.jeanmonod@gmail.com>
20  */
21 class FloatNode extends NumericNode
22 {
23     /**
24      * {@inheritdoc}
25      */
26     protected function validateType($value)
27     {
28         // Integers are also accepted, we just cast them
29         if (is_int($value)) {
30             $value = (float) $value;
31         }
32
33         if (!is_float($value)) {
34             $ex = new InvalidTypeException(sprintf('Invalid type for path "%s". Expected float, but got %s.', $this->getPath(), gettype($value)));
35             if ($hint = $this->getInfo()) {
36                 $ex->addHint($hint);
37             }
38             $ex->setPath($this->getPath());
39
40             throw $ex;
41         }
42     }
43 }