mandatoryDiagnosticResults = $mandatoryDiagnosticResults; $this->optionalDiagnosticResults = $optionalDiagnosticResults; $this->informationalResults = $informationalResults; $this->computeErrorAndWarningCount(); } /** * @return bool */ public function hasErrors() { return $this->getErrorCount() > 0; } /** * @return bool */ public function hasWarnings() { return $this->getWarningCount() > 0; } /** * @return int */ public function getErrorCount() { return $this->errorCount; } /** * @return int */ public function getWarningCount() { return $this->warningCount; } /** * @return DiagnosticResult[] */ public function getAllResults() { return array_merge($this->mandatoryDiagnosticResults, $this->optionalDiagnosticResults, $this->informationalResults); } /** * @return DiagnosticResult[] */ public function getMandatoryDiagnosticResults() { return $this->mandatoryDiagnosticResults; } /** * @return DiagnosticResult[] */ public function getOptionalDiagnosticResults() { return $this->optionalDiagnosticResults; } public function getInformationalResults() { return $this->informationalResults; } private function computeErrorAndWarningCount() { foreach ($this->getAllResults() as $result) { switch ($result->getStatus()) { case DiagnosticResult::STATUS_ERROR: $this->errorCount++; break; case DiagnosticResult::STATUS_WARNING: $this->warningCount++; break; } } } }