PHPackages                             david-prv/quickyphp - 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. [Framework](/categories/framework)
4. /
5. david-prv/quickyphp

AbandonedArchivedProject[Framework](/categories/framework)

david-prv/quickyphp
===================

A handmade php micro-framework

7141[1 issues](https://github.com/david-prv/QuickyPHP/issues)PHP

Since Feb 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/david-prv/QuickyPHP)[ Packagist](https://packagist.org/packages/david-prv/quickyphp)[ RSS](/packages/david-prv-quickyphp/feed)WikiDiscussions main Synced yesterday

READMEChangelog (4)DependenciesVersions (6)Used By (0)

 [![](https://camo.githubusercontent.com/44e243c3452bbf5fd5f19b5258df27afd1dee7b40714ce6b7d2da183cd0caa4d/68747470733a2f2f75706c6f61642e64617669642d64657765732e64652f4c6f676f2d43726f702d576974686f75742d536c6f67616e2e706e67)](https://camo.githubusercontent.com/44e243c3452bbf5fd5f19b5258df27afd1dee7b40714ce6b7d2da183cd0caa4d/68747470733a2f2f75706c6f61642e64617669642d64657765732e64652f4c6f676f2d43726f702d576974686f75742d536c6f67616e2e706e67)

---

[![PHPStan](https://github.com/david-prv/QuickyPHP/actions/workflows/phpstan.yml/badge.svg)](https://github.com/david-prv/QuickyPHP/actions/workflows/phpstan.yml) [![PHPMD](https://github.com/david-prv/QuickyPHP/actions/workflows/phpmd.yml/badge.svg)](https://github.com/david-prv/QuickyPHP/actions/workflows/phpmd.yml) [![PHPCS](https://github.com/david-prv/QuickyPHP/actions/workflows/phpcs.yml/badge.svg)](https://github.com/david-prv/QuickyPHP/actions/workflows/phpcs.yml)

A php micro-framework for simple and quick web-applications

Important

This project will not receive any major updates in the near future. I have paused development indefinitely as I no longer have enough freetime. QuickyPHP has not been discontinued, development is just delayed.

👉 Moved to

Motivation
----------

[](#motivation)

I started this project because I wanted to procrastinate important work for university. No joke. But it turned into a slight obsession that has been with me for a few days now. I found developing my own PHP micro-framework so interesting that I kept reading up on documentation and articles and watching tutorial after tutorial.

The framework has the sense to be structured as simple as possible, to be easily customizable by anyone to their needs. I also experimented with technologies that I had never used before but found in other projects or got to know at university (e.g. method dispatcher or reflection classes). Also, the project was partly done in collaboration with ChatGPT (OpenAI), which was also a memorable experiment.

I got the idea of how a simple PHP framework works from other open source projects. Here is a selection (if you read it carefully, you will quickly see parallels to my framework and its structure):

- [FlightPHP](https://flightphp.com/)
- [SlimFramework](https://www.slimframework.com/)
- [CakePHP](https://cakephp.org/)
- [Laravel Lumen](https://lumen.laravel.com/docs/10.x)

Example Application
-------------------

[](#example-application)

A simple web application powered by this framework:

```
require __DIR__ . "/../vendor/autoload.php";

use Quicky\Http\Request;
use Quicky\Http\Response;
use Quicky\App;

$app = App::create();

App::route("GET", "/", function(Request $request, Response $response) {
    $response->write("Hello World");
    return $response;
});

$app->run();
```

More Features
-------------

[](#more-features)

### Flexible Factory

[](#flexible-factory)

You can build complex application configurations with the in-built AppFactory very easily!

```
$app = AppFactory::empty()
  ->catch("exception", function (Throwable $exception) { ... })
  ->state("development")
  ->middleware(RateLimitMiddleware::class, 1, 5)
  ->alias("sayHello", function () { echo "Hello World"; })
  ->build();
```

### Automatic Dispatching

[](#automatic-dispatching)

This framework will automatically search for the correct method to dispatch, for any static invocation.

```
use Quicky\Interfaces\DispatchingInterface;

class MyTest implements DispatchingInterface
{
  private array $dispatching;

  public function __construct()
  {
    $this->dispatching = array("test");
  }

  public function dispatches(string $method): bool
  {
    return in_array($method, $this->dispatching);
  }

  public function test(): void
  {
    echo "I'm a test";
  }
}
```

### Secure Routing

[](#secure-routing)

Protect your application with security sensitive middleware to prevent basic attack patterns.

```
use Quicky\Middlewares\RateLimitMiddleware;
use Quicky\Middlewares\CORSMiddleware;
use Quicky\Middlewares\LoggingMiddleware;

// Routes can be accessed once every 5 seconds
App::use("middleware", new RateLimitMiddleware(1, 5));

// This route additionally sets special CORS headers & enables logging
App::route("GET", "/admin", function (Request $request, Response $response) {
  $response->render("admin.dashboard");
  return $response;
})
->middleware(new CORSMiddleware())
->middleware(new LoggingMiddleware());
```

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

[](#requirements)

QuickyPHP requires PHP 7.4+ or PHP 8 ([check compatibility](https://github.com/david-prv/QuickyPHP/blob/main/COMPATIBILITY.md)) and a webserver that supports Rewrite Rules.
Note: Composer Version 2 is required to find and install the package.

Installation
------------

[](#installation)

### Download files:

[](#download-files)

#### Via Composer

[](#via-composer)

Install the project via command-line:

```
composer create-project david-prv/quickyphp
```

#### Via GitHub

[](#via-github)

Create a project folder: Download git repository:

```
git clone https://github.com/david-prv/QuickyPHP.git
```

### Install requirements

[](#install-requirements)

Install without development requirements:

```
composer install
```

Use the `--no-dev` tag, if you want to skip the development dependencies. If you also want to skip the platform requirement check, use the tag `--ignore-platform-reqs`, which is not recommended.

CLI Usage
---------

[](#cli-usage)

Start local PHP development server

```
php quicky-cli start [ []]

e.g. php quicky-cli start localhost 3000
```

Clear logs

```
php quicky-cli clear logs
```

Clear cache

```
php quicky-cli clear cache
```

Restore default configuration

```
php quicky-cli config restore
```

Update configuration

```
php quicky-cli config set

e.g. php quicky-cli config set project.env production
```

Contributing
------------

[](#contributing)

Please feel free to contribute to this project. I am always happy to see new and fresh ideas.
[Learn more](https://github.com/david-prv/QuickyPHP/blob/main/CONTRIBUTING.md)

Support
-------

[](#support)

If you like what I do, feel free to buy me a coffee for my work.
Programming early in the morning is hard without a good cup of this magical liquid.

Click here to support me:

[ ![buy me a coffee!](https://camo.githubusercontent.com/b4b6b5c5bf0e41c7aa1b74826c810ebcee670292d79ee49a3f8333dd08853cc8/68747470733a2f2f6d65646961332e67697068792e636f6d2f6d656469612f5444514f746e57677342783939634e6f79482f67697068792e676966)](https://www.buymeacoffee.com/david.dewes)License
-------

[](#license)

Released under [GPL](/LICENSE) by [@david-prv](https://github.com/david-prv).

[![image](https://private-user-images.githubusercontent.com/66866223/274595406-385b8bb1-4dc1-48f9-bfc7-e58be51823f1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzk1MzEsIm5iZiI6MTc4Mjk3OTIzMSwicGF0aCI6Ii82Njg2NjIyMy8yNzQ1OTU0MDYtMzg1YjhiYjEtNGRjMS00OGY5LWJmYzctZTU4YmU1MTgyM2YxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAyVDA4MDAzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4NTQxZmFkYmZlMjA3OTQzYzM4OGRmYjFjZWNkYjFjOWU1NmViMDM5N2I1NmJiODQ2ZmU4NjRjZTRiNThlZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.Hxb24as3sULpPiBj5M2lx2ATBYi-hXYQEovrVY52wlA)](https://private-user-images.githubusercontent.com/66866223/274595406-385b8bb1-4dc1-48f9-bfc7-e58be51823f1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzk1MzEsIm5iZiI6MTc4Mjk3OTIzMSwicGF0aCI6Ii82Njg2NjIyMy8yNzQ1OTU0MDYtMzg1YjhiYjEtNGRjMS00OGY5LWJmYzctZTU4YmU1MTgyM2YxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAyVDA4MDAzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg4NTQxZmFkYmZlMjA3OTQzYzM4OGRmYjFjZWNkYjFjOWU1NmViMDM5N2I1NmJiODQ2ZmU4NjRjZTRiNThlZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.Hxb24as3sULpPiBj5M2lx2ATBYi-hXYQEovrVY52wlA)

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance25

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity29

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/66866223?v=4)[David](/maintainers/david-prv)[@david-prv](https://github.com/david-prv)

---

Top Contributors

[![david-prv](https://avatars.githubusercontent.com/u/66866223?v=4)](https://github.com/david-prv "david-prv (382 commits)")

### Embed Badge

![Health badge](/badges/david-prv-quickyphp/health.svg)

```
[![Health](https://phpackages.com/badges/david-prv-quickyphp/health.svg)](https://phpackages.com/packages/david-prv-quickyphp)
```

###  Alternatives

[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k39.6M299](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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