laminas/laminas-diagnostics
Run health checks for your PHP/Laminas apps and environments. laminas-diagnostics provides diagnostic tests and reporting for common issues, with an extensible API for custom checks and CI-friendly output.
psr/log, psr/container), ensuring no breaking changes for Laravel integrations.PHPUnit or Pest.Cache::store())./health endpoint) or scheduled (e.g., nightly audits).Http\Middleware or run as console commands?Monolog (unchanged).// Before (if versioning was broken):
$diagnostic->setData($rawData);
// After:
$diagnostic->setData($rawData, ['version' => '1.0']); // Explicit versioning
// app/Providers/DiagnosticServiceProvider.php
public function register()
{
$this->app->bind(Diagnostic::class, function ($app) {
$diagnostic = new LaminasDiagnosticWrapper($app);
$diagnostic->setVersion('1.0'); // Explicit versioning
return $diagnostic;
});
}
composer why-not to check for conflicts.composer require laminas/laminas-diagnostics:^1.30.1 --with-all-dependencies
composer why-not laminas/laminas-diagnostics
config/diagnostics.php to include versioning:
'version' => '1.0',
'checks' => [
'database' => [
'version' => '1.0',
'interval' => 'hourly',
],
],
// Example: Storing in database with versioning
DiagnosticRun::create([
'suite' => 'database',
'version' => '1.0', // Explicit version
'status' => 'passed',
'data' => json_encode($diagnosticData),
]);
README.md:
## Data Versioning
- Diagnostic data is versioned starting from v1.0 (fixed in 1.30.1).
- Ensure custom serializers/deserializers support versioned outputs.
try {
$diagnostic->run();
} catch (DataVersionMismatchException $e) {
Log::warning("Diagnostic version mismatch: " . $e->getMessage());
// Fallback to default version or retry
}
How can I help you explore Laravel packages today?