/** * Validate score * * @param $key * @param $value * @return string */ public function validate($key, $value) { $rule = $this->ruleSet->getRule($key); if (!is_array($rule) || !is_numeric($value)) { return self::UNKNOWN; } // according order if ($rule[0] < $rule[2]) { // critical < warn < good switch (true) { case $value < $rule[1]: return self::CRITICAL; case $value >= $rule[1] && $value < $rule[2]: return self::WARNING; default: return self::GOOD; } } // critical > warn > good switch (true) { case $value > $rule[1]: return self::CRITICAL; case $value < $rule[2]: return self::GOOD; default: return self::WARNING; } }