*/ private array $results = []; /** * @return array */ public function runAll(): array { $this->results = []; $diagnostics = [ new DatabaseDiagnostic, new SecurityDiagnostic, new SystemDiagnostic, new HttpDiagnostic, ]; foreach ($diagnostics as $diagnostic) { $this->results = array_merge($this->results, $diagnostic->runAll()); } return $this->results; } public function hasErrors(): bool { return array_any($this->results, fn ($r) => $r->status === 'error'); } public function hasWarnings(): bool { return array_any($this->results, fn ($r) => $r->status === 'warning'); } public function getErrors(): array { return array_filter($this->results, fn ($r) => $r->status === 'error'); } public function getWarnings(): array { return array_filter($this->results, fn ($r) => $r->status === 'warning'); } public function getOk(): array { return array_filter($this->results, fn ($r) => $r->status === 'ok'); } }