PHPackages                             franksacco/nano-framework - 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. [Database &amp; ORM](/categories/database)
4. /
5. franksacco/nano-framework

AbandonedArchivedLibrary[Database &amp; ORM](/categories/database)

franksacco/nano-framework
=========================

A simple, fast and secure PHP framework

010PHP

Since Jan 18Pushed 4y ago1 watchersCompare

[ Source](https://github.com/franksacco/nano-framework)[ Packagist](https://packagist.org/packages/franksacco/nano-framework)[ RSS](/packages/franksacco-nano-framework/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

[![Logo](https://camo.githubusercontent.com/c7e2672ebf0742eca26ab78cfbfd8a8818d6b28cce336806ac8d5be51f34eb13/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f6672616e6b736163636f2f696d6167652f75706c6f61642f76313539303037323534312f6e616e6f2e737667)](https://camo.githubusercontent.com/c7e2672ebf0742eca26ab78cfbfd8a8818d6b28cce336806ac8d5be51f34eb13/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f6672616e6b736163636f2f696d6167652f75706c6f61642f76313539303037323534312f6e616e6f2e737667)

[![Build Status](https://github.com/franksacco/nano-framework/workflows/PHPUnit%20Tests/badge.svg)](https://github.com/franksacco/nano-framework/actions)[![Latest Stable Version](https://camo.githubusercontent.com/ae72ffe81a93c2726250e14e584d1c00531e2eca6c7e62b14d2f7a50d8df09f8/68747470733a2f2f706f7365722e707567782e6f72672f6672616e6b736163636f2f6e616e6f2d6672616d65776f726b2f76)](https://packagist.org/packages/franksacco/nano-framework)[![PHP Versions Supported](https://camo.githubusercontent.com/7f10b299d5099346dcca34859f6462860bfb463c8f96f817beb0eaa9932b269b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344253230372e322d383839324246)](#requirements)[![License](https://camo.githubusercontent.com/584317e584bb96980358b5fbfe0252418e52f6c6f3b4bc576d18f965a31ed281/68747470733a2f2f706f7365722e707567782e6f72672f6672616e6b736163636f2f6e616e6f2d6672616d65776f726b2f6c6963656e7365)](./LICENSE.md)

\[Archived\]
------------

[](#archived)

Due to lack of time, this project is no longer under development.

About
-----

[](#about)

A simple, light and fast PHP framework based on middlewares.

Create an app
-------------

[](#create-an-app)

In order to create your application based on Nano Framework, you have to extend the `AbstractApplication` class and setup the middlewares queue of the application. The method `AbstractApplication::middleware(MiddlewareQueue $middleware)` must be overwritten in order to setup the middlewares queue used to process the server request and create the response. Note that the order in which the middlewares are added defines the order in which they are executed.
A basic example:

```
class YourApplication extends AbstractApplication {
    public function middleware(MiddlewareQueue $middleware)
    {
        $middleware
            ->add(ErrorHandlerMiddleware::class)     // Error/Exception handling.
            ->add(ResponseEmitterMiddleware::class)  // Send response to the user.
            ->add(BufferOutputMiddleware::class)     // Output buffering and compressing.
            ->add(RoutingMiddleware::class);         // Routing engine.
    }
}
```

The `AbstractApplication` class implements `MiddlewareInterface` as it is always the last middleware in the queue. Its job is to dispatch the server request to an action in order to produce a response. The action to be executed is a callable set as attribute in the server request. In this example, this is automatically made by the `RoutingMiddleware`.
Now, you have to start your application from your `index.php` file:

```
require dirname(__DIR__) . '/vendor/autoload.php';

$config = require dirname(__DIR__) . '/config/config.php';

$app = new \App\YourApplication($config);
$app->run();
```

That's it. Now you have to implement the logic of your application.

Requirements
------------

[](#requirements)

- PHP &gt;= 7.2
- JSON PHP Extension
- PDO PHP Extension

Documentation
-------------

[](#documentation)

Documentation for this project is available in the [docs folder](docs/README.md).

License
-------

[](#license)

The Nano Framework is open-sourced software licensed under the [MIT license](README.md).

Author
------

[](#author)

- [Francesco Saccani](https://github.com/franksacco) ()

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25416256?v=4)[Francesco Saccani](/maintainers/franksacco)[@franksacco](https://github.com/franksacco)

---

Top Contributors

[![franksacco](https://avatars.githubusercontent.com/u/25416256?v=4)](https://github.com/franksacco "franksacco (34 commits)")

---

Tags

middlewareormphp-frameworkroutingsession

### Embed Badge

![Health badge](/badges/franksacco-nano-framework/health.svg)

```
[![Health](https://phpackages.com/badges/franksacco-nano-framework/health.svg)](https://phpackages.com/packages/franksacco-nano-framework)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.3k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M542](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M209](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
