{"id":16463841,"url":"https://github.com/bretrzaun/statuspage","last_synced_at":"2025-07-13T04:33:25.681Z","repository":{"id":43808311,"uuid":"45982569","full_name":"bretrzaun/statuspage","owner":"bretrzaun","description":"Add a simple status page to applications.","archived":false,"fork":false,"pushed_at":"2024-03-19T08:38:39.000Z","size":296,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-12T11:15:54.215Z","etag":null,"topics":["php","statuspage","twig"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bretrzaun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-11T13:13:30.000Z","updated_at":"2022-07-12T01:09:09.000Z","dependencies_parsed_at":"2024-03-19T09:46:07.533Z","dependency_job_id":"e88e330d-521c-4815-a094-7435b220eee6","html_url":"https://github.com/bretrzaun/statuspage","commit_stats":{"total_commits":133,"total_committers":6,"mean_commits":"22.166666666666668","dds":0.1127819548872181,"last_synced_commit":"70d8e6b33e03b114fcd240a2795e6f6867912d9e"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretrzaun%2Fstatuspage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretrzaun%2Fstatuspage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretrzaun%2Fstatuspage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bretrzaun%2Fstatuspage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bretrzaun","download_url":"https://codeload.github.com/bretrzaun/statuspage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244295987,"owners_count":20430241,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","statuspage","twig"],"created_at":"2024-10-11T11:15:44.645Z","updated_at":"2025-03-23T10:34:28.618Z","avatar_url":"https://github.com/bretrzaun.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StatusPage\n\n[![Latest Stable Version](https://poser.pugx.org/bretrzaun/statuspage/v/stable)](https://packagist.org/packages/bretrzaun/statuspage)\n[![Tests](https://github.com/bretrzaun/statuspage/actions/workflows/tests.yml/badge.svg)](https://github.com/bretrzaun/statuspage/actions/workflows/tests.yml)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/bretrzaun/statuspage/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/bretrzaun/statuspage/?branch=master)\n\nAdd a simple status page to applications with custom checks.\n\nThe status page runs all registered checks and renders a page showing its results.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"examples/standalone.png\"\u003e\n\u003c/p\u003e\n\n## Installation\n\n```\ncomposer require bretrzaun/statuspage\n```\n\n## Usage\n\n```php\n$checker = new \\BretRZaun\\StatusPage\\StatusChecker();\n// add your checks here\n$checker-\u003eaddCheck(...);\n\n// in different groups if you like\n$group = new StatusCheckerGroup('Group 01');\n$group-\u003eaddCheck(...);\n$group-\u003eaddCheck(...);\n$checker-\u003eaddGroup($group);\n\n// run the checks\n$checker-\u003echeck();\n\n// use the built-in Twig template\n$loader = new Twig_Loader_Filesystem('resources/views/');\n$twig = new Twig_Environment($loader, ['autoescape' =\u003e false]);\n\n$content = $twig-\u003erender(\n    'bootstrap_5.html.twig',\n        [\n            'results' =\u003e $checker-\u003egetResults(),\n            'title' =\u003e 'My status page'\n        ]\n    );\n$code = $checker-\u003ehasErrors() ? 503 : 200;\n// create a response with $content and $code\n```\n\n## Out-of-the-box checks\n\n- **CallbackCheck**: generic check using a PHP callback function\n- **DoctrineConnectionCheck**: checks for a valid [Doctrine DBAL](http://www.doctrine-project.org/projects/dbal.html) connection\n- **ElasticsearchCheck**: checks an [Elasticsearch Client](https://github.com/elastic/elasticsearch-php) for successful pings\n- **LogFileContentCheck**: check a (log) file for certain content\n- **MongoDbCheck**: checks a [MongoDB](https://mongodb.com) client\n- **PhpExtensionCheck**: check a given PHP extension is loaded\n- **PhpIniCheck**: check a value of php.ini\n- **PhpMemoryLimitCheck**: check PHP memory limit\n- **PhpVersionCheck**: check PHP version\n- **UrlCheck**: checks a URL\n\n### Custom checks\n\nCustom checks can be easily added by implementing `BretRZaun\\StatusPage\\Check\\CheckInterface` or inheriting `BretRZaun\\StatusPage\\Check\\AbstractCheck`.\n\n## Tests\n\nTo run the tests, just enter:\n\n```\ncomposer install\nvendor/bin/phpunit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretrzaun%2Fstatuspage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbretrzaun%2Fstatuspage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbretrzaun%2Fstatuspage/lists"}