{"id":22683376,"url":"https://github.com/milan-miscevic/inert","last_synced_at":"2026-03-12T15:02:33.069Z","repository":{"id":42532376,"uuid":"115949049","full_name":"milan-miscevic/inert","owner":"milan-miscevic","description":"Mini PHP framework with basic MVC and service container support","archived":false,"fork":false,"pushed_at":"2025-12-25T17:10:06.000Z","size":271,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-12-27T04:07:59.100Z","etag":null,"topics":["action","action-container","controller","factory","framework","inert","mini-php-framework","mvc","php-framework","response","service-container"],"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/milan-miscevic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-01-01T21:26:14.000Z","updated_at":"2022-03-15T07:59:01.000Z","dependencies_parsed_at":"2023-12-01T12:12:06.451Z","dependency_job_id":"dd33da78-999e-490d-9f6d-85d1db8aed8d","html_url":"https://github.com/milan-miscevic/inert","commit_stats":{"total_commits":165,"total_committers":5,"mean_commits":33.0,"dds":0.5515151515151515,"last_synced_commit":"6f0325e051c58824d6d4b4ffc6afde6277cbd573"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/milan-miscevic/inert","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milan-miscevic%2Finert","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milan-miscevic%2Finert/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milan-miscevic%2Finert/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milan-miscevic%2Finert/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milan-miscevic","download_url":"https://codeload.github.com/milan-miscevic/inert/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milan-miscevic%2Finert/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30429298,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["action","action-container","controller","factory","framework","inert","mini-php-framework","mvc","php-framework","response","service-container"],"created_at":"2024-12-09T21:11:55.401Z","updated_at":"2026-03-12T15:02:33.015Z","avatar_url":"https://github.com/milan-miscevic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# inert\n\n[![Software License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![PDS Skeleton](https://img.shields.io/badge/pds-skeleton-blue.svg?style=flat-square)](https://github.com/php-pds/skeleton)\n\n[![GitHub Build](https://github.com/milan-miscevic/inert/workflows/Test/badge.svg?branch=master)](https://github.com/milan-miscevic/inert/actions)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=milan-miscevic_inert\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=milan-miscevic_inert)\n[![Type Coverage](https://shepherd.dev/github/milan-miscevic/inert/coverage.svg)](https://shepherd.dev/github/milan-miscevic/inert)\n[![Mutation testing badge](https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Fbadge-api.stryker-mutator.io%2Fgithub.com%2Fmilan-miscevic%2Finert%2Fmaster)](https://dashboard.stryker-mutator.io/reports/github.com/milan-miscevic/inert/master)\n\nThis repository provides a mini PHP framework with basic MVC and service container support. The name comes from the type of projects it is intended for - small and (almost) non-dynamic, or just inert.\n\nAfter working with full-fledged frameworks on bigger projects, it can be strange to work in vanilla PHP with `require`s and without controllers and actions. The main idea was to bring controllers and actions to small private projects to organize code but keep simplicity (of configuration) from vanilla PHP and dependencies minimal. This is how this framework was born. Later, during development, the service locator is added.\n\n## Minimal installation\n\nInstall Inert via Composer:\n\n```bash\ncomposer require milan-miscevic/inert\n```\n\n`index.php`\n\n```php\n\u003c?php\n\nuse Mmm\\Inert\\ActionContainer;\nuse Mmm\\Inert\\Application;\nuse Mmm\\Inert\\ServiceContainer;\n\nrequire '../vendor/autoload.php';\n\n$actions = [\n    'index' =\u003e IndexAction::class,\n];\n\n$actionContainer = new ActionContainer(\n    $actions,\n    new ServiceContainer([])\n);\n\necho (new Application($actionContainer))-\u003erun()-\u003egetContent();\n```\n\n`IndexAction.php`:\n\n```php\n\u003c?php\n\nuse Mmm\\Inert\\Action;\nuse Mmm\\Inert\\Response;\n\nclass IndexAction implements Action\n{\n    public function run(): Response\n    {\n        return new Response('Hello, world!');\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilan-miscevic%2Finert","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilan-miscevic%2Finert","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilan-miscevic%2Finert/lists"}