public function __set($name, $value) { if (('upper' === $name || 'lower' === $name) && null !== $value) { if (!$value instanceof DateTime) { throw new InvalidArgumentException("DateTimeRange {$name} bound should be an instance of DateTime"); } if ('upper' === $name && null !== $this->lower && $this->lower > $value || 'lower' === $name && null !== $this->upper && $this->upper < $value) { throw new InvalidArgumentException("Range lower bound must be less than or equal to range upper bound"); } } parent::__set($name, $value); }
public function __set($name, $value) { if (('lower' === $name || 'upper' === $name) && null !== $value) { if (!is_numeric($value)) { throw new InvalidArgumentException("NumericRange {$name} bound should be numeric"); } if ('upper' === $name && null !== $this->lower && floatval($this->lower) > floatval($value) || 'lower' === $name && null !== $this->upper && floatval($this->upper) < floatval($value)) { throw new InvalidArgumentException("Range lower bound must be less than or equal to range upper bound"); } } parent::__set($name, $value); }