PHPackages                             strangebuzz/microsymfony - 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. strangebuzz/microsymfony

ActiveSymfony-application-template[Framework](/categories/framework)

strangebuzz/microsymfony
========================

A template to initialize an application to use Symfony as a micro-framework

8.0.7(2mo ago)13415413[9 PRs](https://github.com/strangebuzz/MicroSymfony/pulls)MITPHPPHP &gt;=8.4CI passing

Since Mar 7Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/strangebuzz/MicroSymfony)[ Packagist](https://packagist.org/packages/strangebuzz/microsymfony)[ Docs](https://microsymfony.ovh)[ RSS](/packages/strangebuzz-microsymfony/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (86)Versions (49)Used By (0)

MicroSymfony 🎶
==============

[](#microsymfony-)

[![Latest Version](https://camo.githubusercontent.com/2811167891bf85c67b0586420a5a7e3135f3fc0a53a42925dee1140327e872d9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f737472616e676562757a7a2f6d6963726f73796d666f6e792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/strangebuzz/microsymfony)[![PHP Version Require](https://camo.githubusercontent.com/cbade54781b15ab7c277e048a2666aa99b051563de4432155cf0a0b3074b6c9c/68747470733a2f2f706f7365722e707567782e6f72672f737472616e676562757a7a2f6d6963726f73796d666f6e792f726571756972652f7068703f7374796c653d666c61742d737175617265)](https://packagist.org/packages/strangebuzz/microsymfony)[![Symfony Version](https://camo.githubusercontent.com/f39418733230df11456932e1b05ed144f218c1081f26ff5716e13831d2996838/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e792d253345253344253230382e302d626c61636b3f6c6f676f3d73796d666f6e79)](https://symfony.com/8)[![Symfony Style](https://camo.githubusercontent.com/40e2296e85dbcd539c9773dad57ecb272159ac077b129f0a651fc2291c8b5d18/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d73796d666f6e792d626c61636b3f6c6f676f3d73796d666f6e79)](https://symfony.com/doc/current/contributing/code/standards.html)[![level](https://camo.githubusercontent.com/a297104012c8207e99eac313bcf680ff32843c3d3a21decb547f454bf4097ee2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6576656c2d6d61782d737563636573733f7374796c653d666c61742d737175617265266c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414143414141414167434159414141427a656e72304141414762306c455156523432753158653142555a52532f79344b67386f6952334643434255795345535a4252436961426e6d45734f7a65537a73672b4b7859594f3964454566744e52715a6a78343046525a6b5470716d4f7a3553324c73586c455a42636961746b516e484447596147644679314570474d486c2f702f5064466c7432726b354f2b4a396e356e412f767466356e6564336c6e6c49537052686166426c4c524c4843744a475672422f5a4244736177326c55717a526547414334364473745459666e534347556a61614476677841436f366a337655656e4e64496d65525871646e575635617a3572726e7a655a7a6e6a384a2b4535467473636c68663373344a3443532f6f52783542766f6e385a553635464759517841776366383561374365527a2b4334315448656a75657964435a3741414b33346e7776336b48502f6f554b644f4c344b373235386646374375643432374f3438525165476b49474a37374e38665a716c726366525034642f78393057516648584c65427439645472536c776c33563635796e574c4d315345413271624e51636b626534586d77773130486d79337368696430434d636d6c454a745344736c35565a42646641674d7649337575522b6d6f4a714e364c61786d70734f42654c43446d546966434239325263516d6241554a767471414c63357351723870383667594243634664427139774f696e374e5161783665776c423672714c5a486632334650313079336c6a36754a74454267324878695643747a64335345774d4243696f364e6839757a5a344f2f764c774f5a344f554e4d324e79494750467276757a42472f2f6c5250732b5651326b316b692b65506b64383462736b7a375946705967697a457a3838503876507a596666753364445330674a4e545531515856304e71616d70524b31574977676669453471684f7969673072432b7043764b3851556f4d4c37754a564841356b635155703344537071576a6333642f4479386f4b696f694c6f367571436f614568754862314b765430394141684246706257346c4f70794d797949425153436d6f55514c517a676e694e767a2b6f624232485332527742674536644f7843794a6f676d4e6b503275315772687734514a30332b69477252395845643343544e426e366543626f3430775044774d645856314246314456473571694574626f78535550364a37312b44334e775541684c4f4952517a6d376c6e6e68595576375146762f79445a2f4c6d3575624b3244564939695a386252384a4474454235376c4e7a454e514e364f6a6f49476c70616249565a7359614d544f2b6872696b525241314a786d5358396845372f734a745679463338744b735543565a7842687a396a49337747542f514a6c41447a50417958726e6a306b496e7a47485143524d794f672f65643275486a784975453454675951487132444c4a71756d617368592b6c6e734d433447564335646f365856754b396c2b34536b4e38792b47665965564a6e32672b2b553751796750543064426759474944765435386d6e46355051636a433833507a5346396648375331745a47456841515a514f54384a61413331376f496b4d366a533875564c53447a4f517167323355682b4d6c6b4f66303047673063503334632b7676373455527a4d396e34316762792f7276766b63374f54686c415455334e4347594a5558743451614c75545977426354534f426d6a315244374434547369783442794f6a5a52462f7a677570444562675a336a346c792f71656b704e44306f35615134344853344f416773567174493167545a4f303149624730615031626b6e6e7843445576417248692b42306c4a536c7a676c5446594f3275644633516c39544372486e356f45497265487036516c5255464a53556c4a43717169705357566c4a38764c79434759494653374853337a476138376d76346c636a4c774c6c53746c4c544b59595555416c76726c444763573435774b785858366171485a4e75744d2b316f51424846546577414b6b6f48342b7671436a3438505941475335796235616d6a4e6f4f2b435532534c35334e4b70444430767848486d4f4a6972374c357855765a676d307573325231343253634f4979567159766c70575534586f4849503844584c32622b776a6457655868365532466a6d49494b6d625741595046524d75733632682f676549766a4f51596c707544797351724c4c364765723439486757386a7176585568493755764462396961535444714874794974694635537577356577462f4e6438564a367a6c68736e30366245687758344e79664376754745655270546d68346d6b47363879447079757a42394555636a553561776241676e63506c4165536441514552307a436e647a715662655843347144734d70764745594258526e734478344e33417566314643546a5449615674592f51546d643049386242566d316b656a45756255664f30317671496d6e336334395837717065714939696e4967746270784b3359724b66494a43742b4f6556326e665556465234636134456b56454e794137676b59634d66423152354d4d6d785a37657a2f324b463553534e3179562b3135385550734a54305a4263493262524c744958476f5975354665724f55694a65314f66734c335845574834336c324b532b694a46392b53344670634e6773632b6a3863543848346f31626650672f716b4c743530754a31527a644d7347673055717766454e313134507762314374575447672b59395535436c4b397837785557493742493556515670304156635133625a6b51686d6e45676448684b794e535a65313663727442496c63377349623663524c6674325043676f4b476a696a4244746a72415137613345644d73787a4952666c414649685062366d48596d5977582b57426c505167736b6867567279794a4351794e79424c73425164513666677351687974364d534f4f73575a37676248387745546d67524b41696a61744e4c384e676d30787834744c6373707330577a7834616c306a586c493430422f413370613134344d447453674141414141456c46546b5375516d4343)](https://github.com/strangebuzz/MicroSymfony/actions)[![Software License](https://camo.githubusercontent.com/c2bffd81d308ced1cc3b0d66fb0ed453ab478a5e17c988b780f9de986a390ee2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/strangebuzz/MicroSymfony/blob/main/LICENSE)[![Build Status (GitHub)](https://camo.githubusercontent.com/80386300e5489e8837bde7c66181448afa223873c764399c2fb14577fa27ce6e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f737472616e676562757a7a2f6d6963726f73796d666f6e792f73796d666f6e792e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265)](https://github.com/strangebuzz/microsymfony/actions?query=workflow%3ASymfony+branch%3Amain)[![Code Coverage](https://camo.githubusercontent.com/0b006359d1c006fa13ea9fd174ab5dd99273328816a369f3304cda6ee3a2496d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f737472616e676562757a7a2f4d6963726f53796d666f6e792f6261646765732f636f7665726167652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/strangebuzz/MicroSymfony/code-structure/main/code-coverage/src/)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/1f5cbaba0019fe4a944d443257495a525045040de16661f8eceb88ff4cfc74ef/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f737472616e676562757a7a2f4d6963726f53796d666f6e792f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/strangebuzz/MicroSymfony/?branch=main)[![Quality Score](https://camo.githubusercontent.com/f3bb0de3f91cf26a33cda27cabb2489fcaae039906ee33aadcf2a4b12764c322/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f737472616e676562757a7a2f6d6963726f73796d666f6e792e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/strangebuzz/microsymfony)[![All Contributors](https://camo.githubusercontent.com/fc93f0a83f5684d097c3eb98a518fbde759edd51d3366ef2f0c1ef75757da001/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f616c6c5f636f6e7472696275746f72732d392d6f72616e67652e7376673f7374796c653d666c61742d737175617265)](#contributing-)[![PRs Welcome](https://camo.githubusercontent.com/dd0b24c1e6776719edb2c273548a510d6490d8d25269a043dfabbd38419905da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667)](https://github.com/strangebuzz/MicroSymfony/pulls)

About 🖋
-------

[](#about-)

MicroSymfony is a [Symfony 8.0](https://symfony.com/8) application template on steroids, ready to use.

I have made a long blog post explaining the philosophy behind it and how to use it:

- [Introducing the MicroSymfony application template](https://www.strangebuzz.com/en/blog/introducing-the-microsymfony-application-template)

Note

**PS**: If you want to use the last Symfony **7.4 LTS** version, follow the procedure in [`agents/downgrade-to-symfony-7-4-LTS.md`](agents/downgrade-to-symfony-7-4-LTS.md).

Alternatively, if you have an AI coding assistant tool installed, you can run:

```
opencode --prompt agents/downgrade-to-symfony-7-4-LTS.md
```

Table of Contents 📖
-------------------

[](#table-of-contents-)

- [Demos](#demos-)
- [Quick-start](#quick-start-)
    - [With the Symfony binary](#with-the-symfony-binary-)
    - [With FrankenPHP](#with-frankenphp-)
    - [With Laragon](#with-laragon)
- [Requirements](#requirements-)
    - [Optional requirements](#optional-requirements-)
- [Stack](#stack-)
- [Features](#features-)
- [Feature branches](#feature-branches-)
    - [Minimalistic-versions](#minimalistic-versions)
    - [Infrastructure](#infrastructure)
    - [Database](#database-)
    - [Tooling](#tooling-)
- [Notes](#notes-)
    - [Symfony UX](#symfony-ux)
    - [PHP configuration files](#php-configuration-files)
- [Other good practices](#other-good-practices-)
- [ADR](#adr-)
- [References](#references-)
- [Contributing](#contributing-)
- [Security](#security-)
- [Credits](#credits-)
- [License](#license-)
- [Built with MicroSymfony](#built-with-microsymfony-)

Demos 🌈
-------

[](#demos-)

Because a live demo is always better than all explanations:

- Live demo powered by Apache2 / PHP-FPM
- Live demo powered by [FrankenPHP](https://frankenphp.dev/) at

Quick-start ⚡
-------------

[](#quick-start-)

### With the Symfony binary 🎶

[](#with-the-symfony-binary-)

You must have the [Symfony binary](https://symfony.com/download#step-1-install-symfony-cli)and [Composer](https://getcomposer.org/) installed locally.

To create a new project from the last tag, run:

```
composer create-project strangebuzz/microsymfony && cd microsymfony

```

Then start the PHP server with make:

```
make start

```

Or with Castor:

```
castor start

```

Open  (considering your 8000 port is free) and enjoy! 🙂

Note

**PS**: You can also use the green button "[Use this template ⇩](https://github.com/new?template_name=MicroSymfony&template_owner=strangebuzz)" at the top right of the GitHub project homepage. It creates a new repository from the main branch instead of the last release. I guarantee that all commits on the main branch are stable; you can verify that the associated CI jobs are ✅.

### With FrankenPHP 🧟‍

[](#with-frankenphp-‍)

We can also use [FrankenPHP](https://frankenphp.dev/) to run MicroSymfony. You must have [Docker](https://www.docker.com/) installed locally.

Create a new project from the GitHub template, run:

```
docker run --rm -it -v $PWD:/app composer:latest create-project strangebuzz/microsymfony && cd microsymfony

```

Then run:

```
docker run \
    -e FRANKENPHP_CONFIG="worker ./public/index.php" \
    -v $PWD:/app \
    -p 80:80 -p 443:443 \
    -d \
    dunglas/frankenphp

```

Open  and enjoy! 🙂

**PS**: On Windows, replace `$PWD` with `"%cd%"`.

> **Note**: FrankenPHP already uses PHP **8.5**.

### With Laragon

[](#with-laragon)

Have a look at the specific [documentation](https://github.com/strangebuzz/MicroSymfony/blob/main/docs/laragon.md).

Requirements ⚙
--------------

[](#requirements-)

- At least [PHP 8.4](https://www.php.net/releases/8.4/en.php) and the [Symfony CLI](https://symfony.com/download)
- Or [Docker](https://www.docker.com)

### Optional requirements 🚦

[](#optional-requirements-)

- The [Xdebug](https://xdebug.org/) PHP extension if you want to run the code coverage report
- [Castor](https://github.com/jolicode/castor) task runner, if you would rather not use [Make](https://www.gnu.org/software/make/) and its [Makefile](https://github.com/strangebuzz/MicroSymfony/blob/main/Makefile)

Stack 🔗
-------

[](#stack-)

- [PHP 8.4](https://www.php.net/releases/8.4/en.php) or [PHP 8.5](https://www.php.net/releases/8.5/en.php)
- [Symfony 8.0](https://symfony.com/8)
- [Doctrine ORM 3 (DBAL 4)](https://www.doctrine-project.org)
- [Twig 3](https://twig.symfony.com)
- [Hotwired](https://hotwired.dev/) [Stimulus 3.2](https://stimulus.hotwired.dev/) and [Turbo 8.0](https://turbo.hotwired.dev/)
- [PHPUnit 12.5](https://phpunit.de/announcements/phpunit-12.html)
- [Pico CSS 2.1](https://picocss.com)

Features 🚀
----------

[](#features-)

**MicroSymfony** ships these features, ready to use:

- Two task runners
    - [Make](https://www.gnu.org/software/make/) ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/Makefile)) ([demo](https://www.strangebuzz.com/en/blog/introducing-the-microsymfony-application-template#h3_4_1)) ([output](https://github.com/strangebuzz/MicroSymfony/blob/main/docs/make-output.txt))
    - [Castor](https://github.com/jolicode/castor) ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/castor.php)) ([demo](https://www.strangebuzz.com/en/blog/introducing-the-microsymfony-application-template#h3_4_2)) ([output](https://github.com/strangebuzz/MicroSymfony/blob/main/docs/castor-output.txt))
- Static analysis with [PHPStan 2](https://github.com/phpstan/phpstan)
    - [Configuration](https://github.com/strangebuzz/MicroSymfony/blob/main/phpstan.neon)
- Coding standards with [php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)
    - [Configuration](https://github.com/strangebuzz/MicroSymfony/blob/main/.php-cs-fixer.dist.php)
- Tests ([demo](https://www.strangebuzz.com/en/blog/introducing-the-microsymfony-application-template#h2_7))
    - Unit test [example](https://github.com/strangebuzz/MicroSymfony/blob/main/tests/Unit/Helper/StringHelperTest.php)
    - Integration test [example](https://github.com/strangebuzz/MicroSymfony/blob/main/tests/Integration/Twig/Extension/RoutingExtensionTest.php)
    - Functional test [example](https://github.com/strangebuzz/MicroSymfony/blob/main/tests/Functional/Controller/ComposerActionTest.php)
    - API test [example](https://github.com/strangebuzz/MicroSymfony/blob/main/tests/Api/Controller/SlugifyActionTest.php)
    - E2E test [example](https://github.com/strangebuzz/MicroSymfony/blob/main/tests/E2E/Controller/AppControllerTest.php)
- Code coverage at 100% (configurable threshold)
    - [Coverage report on Scrutinizer](https://scrutinizer-ci.com/g/strangebuzz/MicroSymfony/code-structure/main/code-coverage/src/)
- GitHub CI ([actions](https://github.com/strangebuzz/MicroSymfony/actions))
    - [Tests job output](https://github.com/strangebuzz/MicroSymfony/actions/runs/20644800370/job/59281198393?pr=200)
    - [Lint job output](https://github.com/strangebuzz/MicroSymfony/actions/runs/20644800370/job/59281198381?pr=200)
    - [Security job output](https://github.com/strangebuzz/MicroSymfony/actions/runs/20644800370/job/59281198382?pr=200)
- AssetMapper+Stimulus ([documentation](https://symfony.com/doc/current/frontend/asset_mapper.html))
    - Vanilla JS ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/assets/controllers/hello_controller.js)) ([demo](https://microsymfony.ovh/stimulus))
    - Fetches JSON data from an application endpoint ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/assets/controllers/api_controller.js)) ([demo](https://microsymfony.ovh/stimulus))
- A custom error template
    - [Source](https://github.com/strangebuzz/MicroSymfony/blob/main/templates/bundles/TwigBundle/Exception/error.html.twig)
    - [Demo](https://microsymfony.ovh/404)

Feature branches 🚅
------------------

[](#feature-branches-)

[Feature branches](https://github.com/strangebuzz/MicroSymfony/pulls?q=is%3Apr+is%3Aopen+label%3A%22feature+branch%22)are not merged into the main branch but are used to test the integration of a new vendor library or make a [POC](https://en.wikipedia.org/wiki/Proof_of_concept). For example, have you ever dreamed of testing [Eloquent](https://laravel.com/docs/11.x/eloquent#introduction), the Laravel ORM, on a Symfony project? Then clone the `eloquent` branch and run `composer install && make load-fixtures`.

### Minimalistic versions

[](#minimalistic-versions)

- Doctrine less ([PR](https://github.com/strangebuzz/MicroSymfony/pull/222), [branch](https://github.com/strangebuzz/MicroSymfony/tree/doctrine-less), rebased on 2026-01-17)
- Symfony 7.4 LTS ([PR](https://github.com/strangebuzz/MicroSymfony/pull/244), [branch](https://github.com/strangebuzz/MicroSymfony/tree/symfony-7-4), rebased on 2026-02-07)

### Infrastructure

[](#infrastructure)

- Symfony-docker ([PR](https://github.com/strangebuzz/MicroSymfony/pull/98), [branch](https://github.com/strangebuzz/MicroSymfony/tree/symfony-docker), rebased on 2024-11-17)

### Database 💽

[](#database-)

These « database » branches aim to display a list of records from an [SQLite](https://www.sqlite.org/)database.

- Eloquent ORM ([PR](https://github.com/strangebuzz/MicroSymfony/pull/65), [branch](https://github.com/strangebuzz/MicroSymfony/tree/eloquent), rebased on 2024-11-17)

### Tooling 🔨

[](#tooling-)

- Vite-Bundle ([PR](https://github.com/strangebuzz/MicroSymfony/pull/161), [branch](https://github.com/lhapaipai/MicroSymfony/tree/vite), rebased on 2026-02-11) ([demo](https://vite.microsymfony.ovh))
- Psalm ([PR](https://github.com/strangebuzz/MicroSymfony/pull/227), [branch](https://github.com/strangebuzz/MicroSymfony/tree/psalm), rebased on 2026-01-18)
- Taskfile ([PR](https://github.com/strangebuzz/MicroSymfony/pull/86), [branch](https://github.com/jmsche/MicroSymfony/tree/taskfile), rebased on 2024-12-04)
- TwigStan ([PR](https://github.com/strangebuzz/MicroSymfony/pull/95), [branch](https://github.com/strangebuzz/MicroSymfony/tree/twigstan), rebased on 2024-11-18)
- Twig-CS-Fixer ([PR](https://github.com/strangebuzz/MicroSymfony/pull/238), [branch](https://github.com/strangebuzz/MicroSymfony/tree/feat/use-twig-cs-fixer), rebased on 2026-12-30)

One will rebase those branches regularly so they are not too outdated.

Notes 📒
-------

[](#notes-)

### Symfony-UX

[](#symfony-ux)

Turbo forms are disabled in [assets/app.js](https://github.com/strangebuzz/MicroSymfony/blob/main/assets/app.js). To enable the feature for a given form, add the `data-turbo="true"` attribute to it. Or change the parameter `Turbo.setFormMode` to `on` to activate the feature globally. In both cases, your controller code has to be [modified accordingly](https://symfony.com/bundles/ux-turbo/current/index.html#3-form-response-code-changes).

### PHP configuration files

[](#php-configuration-files)

If you install a new Symfony library, the Flex recipes can add YAML files to your project. These YAML files are loaded, but you can convert them to PHP like the other configuration files. Take examples from the other files in `config/packages` to see how to make the conversion.

Other good practices 👌
----------------------

[](#other-good-practices-)

- Using PHP configuration files instead of YAML ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/config/services.php))
- Using strict types in all PHP files ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/src/Controller/SlugifyAction.php#L3))
- Using the ADR pattern in an action controller ([source](https://github.com/strangebuzz/MicroSymfony/blob/main/src/Controller/HomeAction.php)) ([doc](https://symfony.com/doc/current/controller/service.html#invokable-controllers))
- The [composer.json](https://github.com/strangebuzz/MicroSymfony/blob/main/composer.json)file is normalized with [ergebnis/composer-normalize](https://github.com/ergebnis/composer-normalize)
- Use of the [composer bin plugin](https://github.com/bamarni/composer-bin-plugin)to install and run [php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)

ADR 📝
-----

[](#adr-)

ADR stands for [Architecture Design Records](https://adr.github.io/):

- \[2026-01-17\] Use Doctrine ORM as the default database layer ([PR](https://github.com/strangebuzz/MicroSymfony/pull/219))
- \[2025-12-29\] Use the new PHP configuration ([PR](https://github.com/strangebuzz/MicroSymfony/pull/197))
- \[2025-01-25\] Include the FrankenPHP runtime by default ([PR](https://github.com/strangebuzz/MicroSymfony/pull/54))
- \[2025-01-21\] Add PHPUnit test suites ([PR](https://github.com/strangebuzz/MicroSymfony/pull/155))
- \[2024-12-18\] Use PicoCSS instead of BareCSS as the CSS framework ([PR](https://github.com/strangebuzz/MicroSymfony/pull/85))
- \[2024-12-05\] Convert all configuration files to PHP (fluent interface) ([PR](https://github.com/strangebuzz/MicroSymfony/pull/129))
- \[2024-09-22\] Use the ADR pattern for all controllers ([PR](https://github.com/strangebuzz/MicroSymfony/pull/58))

References 📚
------------

[](#references-)

- [Running a Symfony app on a VPS with Docker and FrankenPHP](https://les-tilleuls.coop/en/blog/running-a-symfony-app-on-a-vps-with-docker-and-frankenphp) (les-tilleuls.coop)
- [How to Switch from YAML Configs to PHP Today with Symplify](https://tomasvotruba.com/blog/2020/07/27/how-to-switch-from-yaml-xml-configs-to-php-today-with-migrify/) (tomasvotruba.com)
- [PHPStan 2.0 Released With Level 10 and Elephpants!](https://phpstan.org/blog/phpstan-2-0-released-level-10-elephpants) (phpstan.org)
- [A better ADR pattern for your Symfony controllers](https://www.strangebuzz.com/en/blog/a-better-adr-pattern-for-your-symfony-controllers) (strangebuzz.com)
- [My Taskfile configuration for Symfony](https://jmsche.fr/en/blog/my-taskfile-configuration-for-symfony) (jmsche.fr)
- [You should be using PHPStans bleeding edge](https://backendtea.com/post/use-phpstan-bleeding-edge/) (backendtea.com)
- [A Good Naming Convention for Routes, Controllers and Templates?](https://jolicode.com/blog/a-good-naming-convention-for-routes-controllers-and-templates) (jolicode.com)
- [Front-end application development, Symfony-style(s)](https://dunglas.dev/2024/04/front-end-application-development-symfony-styles/) (dunglas.dev)
- [Automated Test Coverage Checks with Travis, PHPUnit for Github Pull Requests](https://ocramius.github.io/blog/automated-code-coverage-check-for-github-pull-requests-with-travis/) (ocramius.github.io)
- [Installing and using php-cs-fixer](https://www.strangebuzz.com/en/blog/installing-and-using-php-cs-fixer) (strangebuzz.com)
- [Castor, a journey across the sea of task runners](https://jolicode.com/blog/castor-a-journey-across-the-sea-of-task-runners) (jolicode.com)
- [Initializing your Symfony project with solid foundations](https://www.strangebuzz.com/en/blog/initializing-your-symfony-project-with-solid-foundations) (strangebuzz.com)
- [Organizing your Symfony project tests](https://www.strangebuzz.com/en/blog/organizing-your-symfony-project-tests) (strangebuzz.com)
- [What are your Symfony best practices?](https://www.strangebuzz.com/en/blog/what-are-your-symfony-best-practices) (strangebuzz.com)
- [Setting a CI/CD workflow for a Symfony project thanks to the GitHub actions](https://www.strangebuzz.com/en/blog/setting-a-ci-cd-workflow-for-a-symfony-project-thanks-to-the-github-actions) (strangebuzz.com)
- [The Symfony Framework Best Practices](https://symfony.com/doc/current/best_practices.html) (symfony.com)

Contributing 🤝
--------------

[](#contributing-)

Please see [CONTRIBUTING](https://github.com/strangebuzz/MicroSymfony/blob/main/CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](https://github.com/strangebuzz/MicroSymfony/blob/main/CODE_OF_CONDUCT.md) for details.

Security 🧯
----------

[](#security-)

Please see [SECURITY](https://github.com/strangebuzz/MicroSymfony/blob/main/SECURITY.md) for details.

Credits 🙏
---------

[](#credits-)

- [COil](https://github.com/COil) (primary maintainer)
- [All Contributors](https://github.com/strangebuzz/MicroSymfony/graphs/contributors)

[ ![strangebuzz/MicroSymfony contributors](https://camo.githubusercontent.com/141ab6d188e7382dc4fac7e9ce6808a4fc38a4603f588fd68733e22aa4501216/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d737472616e676562757a7a2f4d6963726f53796d666f6e79)](https://github.com/strangebuzz/MicroSymfony/graphs/contributors)Made with [contrib.rocks](https://contrib.rocks).

License ⚖️
----------

[](#license-️)

The MIT License (MIT). Please refer to the [license file](https://github.com/strangebuzz/MicroSymfony/blob/main/LICENSE) for more information.

Built with MicroSymfony 🛠️
--------------------------

[](#built-with-microsymfony-️)

- [Placehold.ovh](https://placehold.ovh/) (2024-12-01)
- [Appartement-tourcoing.com](https://www.appartement-tourcoing.com/) (2024-11-30)
- [Easyadmin Mercure Demo](https://github.com/coopTilleuls/easyadmin-mercure-demo) (2023-05-24)

###  Health Score

56

—

FairBetter than 98% of packages

Maintenance87

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 95.9% 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.

###  Release Activity

Cadence

Every ~29 days

Recently: every ~16 days

Total

38

Last Release

73d ago

Major Versions

6.3.8 → 7.0.12023-12-12

7.4.3 → 8.0.32026-01-01

PHP version history (3 changes)6.2.0PHP &gt;=8.1

7.0.1PHP &gt;=8.2

8.0.4PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/56e7f5c5fd96482c4803749003c6d5fcdb044a8e1f7ca7c2d1c817d88fd23592?d=identicon)[COil](/maintainers/COil)

---

Top Contributors

[![COil](https://avatars.githubusercontent.com/u/177844?v=4)](https://github.com/COil "COil (489 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![tacman](https://avatars.githubusercontent.com/u/619585?v=4)](https://github.com/tacman "tacman (4 commits)")[![florentdestremau](https://avatars.githubusercontent.com/u/2852204?v=4)](https://github.com/florentdestremau "florentdestremau (4 commits)")[![lhapaipai](https://avatars.githubusercontent.com/u/1088155?v=4)](https://github.com/lhapaipai "lhapaipai (2 commits)")[![rijalaraz](https://avatars.githubusercontent.com/u/21680850?v=4)](https://github.com/rijalaraz "rijalaraz (2 commits)")[![neothone](https://avatars.githubusercontent.com/u/13251143?v=4)](https://github.com/neothone "neothone (1 commits)")[![Pierstoval](https://avatars.githubusercontent.com/u/3369266?v=4)](https://github.com/Pierstoval "Pierstoval (1 commits)")[![jmsche](https://avatars.githubusercontent.com/u/3929498?v=4)](https://github.com/jmsche "jmsche (1 commits)")[![alexislefebvre](https://avatars.githubusercontent.com/u/2071331?v=4)](https://github.com/alexislefebvre "alexislefebvre (1 commits)")

---

Tags

micro-frameworkphppocproject-templateradsymfonyweb-applicationphpsymfonyradproject templatemicro-frameworkweb-applicationpoc

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/strangebuzz-microsymfony/health.svg)

```
[![Health](https://phpackages.com/badges/strangebuzz-microsymfony/health.svg)](https://phpackages.com/packages/strangebuzz-microsymfony)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[forumify/forumify-platform

121.8k11](/packages/forumify-forumify-platform)[easycorp/easyadmin-demo

EasyAdmin Demo Application

145.7k](/packages/easycorp-easyadmin-demo)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)

PHPackages © 2026

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