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);
 }
Beispiel #2
0
 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);
 }