oat-sa / lib-health-check
OAT Health Check Library
Installs: 39 924
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 41
Forks: 1
Open Issues: 2
pkg:composer/oat-sa/lib-health-check
Requires
- php: >=8.2.0
- psr/log: ^3.0
- symfony/error-handler: ^6.0
Requires (Dev)
- colinodell/psr-testlogger: ^1.3
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-09-25 23:04:50 UTC
README
Health checks PHP library.
Table of contents
Installation
$ composer require oat-sa/lib-health-check
Usage
This library provides a HealthChecker object in charge to aggregate and execute implementations of the CheckerInterface.
On the HealthChecker class performChecks() method execution, a CheckerResultCollection instance is returned, aggregating all checkers results information.
For example, you need first to create CheckerInterface implementations as follows:
<?php declare(strict_types=1); use OAT\Library\HealthCheck\Checker\CheckerInterface; use OAT\Library\HealthCheck\Result\CheckerResult; class MySuccessChecker implements CheckerInterface { public function getIdentifier() : string { return 'MySuccessChecker'; } public function check() : CheckerResult { return new CheckerResult(true, 'my success message'); } } class MyFailureChecker implements CheckerInterface { public function getIdentifier() : string { return 'MyFailureChecker'; } public function check() : CheckerResult { return new CheckerResult(false, 'my failure message'); } }
Then register the checkers into the HealthChecker, and perform checks as following:
<?php declare(strict_types=1); use OAT\Library\HealthCheck\HealthChecker; $healthChecker = new HealthChecker(); $results = $healthChecker ->registerChecker(new MySuccessChecker()) ->registerChecker(new MyFailureChecker()) ->performChecks(); $results->hasErrors(); // true foreach ($results as $result) { echo $result->getMessage(); }
Notes:
- you can provide to the
HealthChecker(as 2nd constructor parameter) a LoggerInterface instance to customise its logging behaviour. - by default, the
NullLoggerwill be used. - it is recommended to catch only known exceptions in order to form an appropriate result message. The unknown exceptions and errors should be bubbled up to the
HealthChekerlevel.
Tests
To run tests:
$ vendor/bin/phpunit
Note: see phpunit.xml.dist for available test suites.