PHPackages                             modufolio/appkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. modufolio/appkit

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

modufolio/appkit
================

A lean PHP framework built on Symfony components and Doctrine ORM, with hand-wired DI, attribute routing, and first-class Inertia.js support

v0.3.0(2w ago)063↓78.1%MITPHPPHP ^8.2CI passing

Since Jun 5Pushed 2w agoCompare

[ Source](https://github.com/modufolio/appkit)[ Packagist](https://packagist.org/packages/modufolio/appkit)[ RSS](/packages/modufolio-appkit/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (35)Versions (4)Used By (0)

Appkit
======

[](#appkit)

A small, hand-wired PHP application kernel built on Symfony components, Doctrine ORM, Firebase JWT, and a strict-typed PSR-7 fork. Designed for security-conscious SaaS applications that want Symfony-grade components without Symfony's full kernel, bundle system, and compile step.

Why it exists
-------------

[](#why-it-exists)

- **Slim is too thin.** No Doctrine, no validation, no security primitives — the consumer wires everything.
- **Symfony is too heavy.** A compiled DI container, an event dispatcher, bundles, MakerBundle, recipes. Excellent for large apps; more than most SaaS workloads need.
- **Laravel is opinionated and non-Symfony.** Facades, ActiveRecord, and a separate ecosystem.
- **Appkit sits in between.** Symfony components plus Doctrine plus a thin abstract kernel, with a hand-compiled container so the file you read is the resolution path that runs.

What it solves
--------------

[](#what-it-solves)

- **Fast boot.** No DI compile step, no cache invalidation. Config files are loaded with `require`; OPcache handles the rest.
- **Transparent control flow.** No event dispatcher by design. Reading `handleAuthentication()` top-to-bottom shows exactly what runs.
- **RoadRunner-aware.** Every stateful service implements [`ResetInterface`](src/Core/ResetInterface.php); the kernel rebuilds `ApplicationState` per request.
- **Security hardening already wired.** CSRF rotation on login, session-fixation defence, token unserialize allowlist, password timing-parity dummy, brute-force protection, generic 401 responses.
- **Strict typing.** PHP 8.2+, `declare(strict_types=1)` throughout. The bundled PSR-7 implementation is a strict-typed fork of `nyholm/psr7`.

Quick start
-----------

[](#quick-start)

```
composer create-project modufolio/appkit-skeleton my-app
cd my-app
composer start
```

The skeleton lives in its own repository: [modufolio/appkit-skeleton](https://github.com/modufolio/appkit-skeleton).

A minimal controller
--------------------

[](#a-minimal-controller)

```
