"Kinetis" : a non-blocking PHP framework designed around FrankenPHP, not adapted to it #2607
aln-1
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
"Kinetis", Yet another PHP framework, but one built from the ground up to utilize FrankenPHP and non-blocking I/O, not adapted to them after the fact.
Traditional PHP frameworks assume a fresh process per request: nothing you allocate outlives the response, so there's no such thing as state leaking between requests. FrankenPHP's worker mode breaks that assumption. A single process now serves thousands of requests, which means anything not explicitly scoped to one request can quietly bleed into the next. Kinetis's answer is architectural: a two-tier container draws a hard line between what lives for the worker's whole lifetime and what lives for one request, and a PHPStan rule ships with the framework banning static properties in application code, the one thing a fresh-container-per-request can't catch on its own.
The other half is a non-blocking core. Concurrency runs on real PHP Fibers over a Revolt event loop, with native async MySQL, Postgres, and Redis drivers. Concurrently means genuinely concurrent I/O, not a blocking call wrapped in the appearance of async. The same application code also runs correctly under classic PHP-FPM and AWS Lambda, since the runtime is an adapter Kinetis talks to rather than an assumption baked into the framework. With routing, validation, and OpenAPI generation compiled ahead of time for the boot-and-die runtimes where that reflection cost actually lives.
Routing, validation, and OpenAPI docs are attribute-driven with zero config files, and a native MCP server ships in core, so an AI agent calls your application's tools through the same attributes and validation as any HTTP route.
Kinetis is open source, PHP 8.4+.
In my own benchmark suite it now leads five of six TechEmpower-style tests against seven other frameworks.
Docs: docs.kinetis.dev
I would love feedback from anyone running FrankenPHP in production.
All reactions