Exemple #1
0
 public function __construct($value)
 {
     if (is_int($value) || $value === (double) (int) $value) {
         parent::__construct(new Type(Type::TYPE_NUMERIC));
     } elseif (is_float($value)) {
         parent::__construct(new Type(Type::TYPE_DOUBLE));
     } elseif (is_string($value)) {
         parent::__construct(new Type(Type::TYPE_STRING));
     } elseif (is_bool($value)) {
         parent::__construct(new Type(Type::TYPE_BOOLEAN));
     } else {
         throw new \RuntimeException("Invalid constant type encountered: " . gettype($value));
     }
     $this->value = $value;
 }