/** * Options write access * * @throws ezcBasePropertyNotFoundException * If Option could not be found * @throws ezcBaseValueException * If value is out of range * @param mixed $propertyName Option name * @param mixed $propertyValue Option value; * @return mixed */ public function __set($propertyName, $propertyValue) { switch ($propertyName) { case 'resolution': if (!is_numeric($propertyValue) || $propertyValue < 1) { throw new ezcBaseValueException($propertyName, $propertyValue, 'int > 1'); } $this->properties['resolution'] = (int) $propertyValue; break; case 'start': case 'end': if (!is_numeric($propertyValue)) { throw new ezcBaseValueException($propertyName, $propertyValue, 'float'); } $this->properties[$propertyName] = (double) $propertyValue; break; case 'callback': if (!is_callable($propertyValue)) { throw new ezcBaseValueException($propertyName, $propertyValue, 'callback'); } $this->properties[$propertyName] = $propertyValue; break; default: parent::__set($propertyName, $propertyValue); break; } }
/** * Options write access * * @throws ezcBasePropertyNotFoundException * If Option could not be found * @throws ezcBaseValueException * If value is out of range * @param mixed $propertyName Option name * @param mixed $propertyValue Option value; * @return mixed */ public function __set($propertyName, $propertyValue) { switch ($propertyName) { case 'polynomOrder': if (!is_numeric($propertyValue) || $propertyValue < 0) { throw new ezcBaseValueException($propertyName, $propertyValue, 'int > 0'); } $this->properties['polynomOrder'] = (int) $propertyValue; $this->polynom = false; break; case 'resolution': if (!is_numeric($propertyValue) || $propertyValue < 1) { throw new ezcBaseValueException($propertyName, $propertyValue, 'int > 1'); } $this->properties['resolution'] = (int) $propertyValue; break; default: parent::__set($propertyName, $propertyValue); break; } }