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

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

phil/microsymfony
=================

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

7.3.1(6mo ago)02[4 PRs](https://github.com/parler-haut-interagir-librement/MicroSymfony/pulls)MITPHPPHP &gt;=8.4CI passing

Since Sep 13Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/parler-haut-interagir-librement/MicroSymfony)[ Packagist](https://packagist.org/packages/phil/microsymfony)[ Docs](https://ph-il.ca)[ RSS](/packages/phil-microsymfony/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (49)Versions (16)Used By (0)

**Proclaim** *Honestly*, **Interact** *Liberally*” **Micro***Symfony*
=====================================================================

[](#proclaim-honestly-interact-liberally-microsymfony)

[![Latest Version](https://camo.githubusercontent.com/91982d3cd67fe7cd4993f7af56f67b8cf3ea55955a449ae51d6693558fce00d1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7068696c2f6d6963726f73796d666f6e792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/phil/microsymfony)[![PHP Version Require](https://camo.githubusercontent.com/f012f6f571a3fc1c9ff6c0f9a3aaa34521c6d07b5d4ade001ab024387fc39e40/68747470733a2f2f706f7365722e707567782e6f72672f7068696c2f6d6963726f73796d666f6e792f726571756972652f7068703f7374796c653d666c61742d737175617265)](https://packagist.org/packages/phil/microsymfony)[![level](https://camo.githubusercontent.com/a297104012c8207e99eac313bcf680ff32843c3d3a21decb547f454bf4097ee2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6576656c2d6d61782d737563636573733f7374796c653d666c61742d737175617265266c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414143414141414167434159414141427a656e72304141414762306c455156523432753158653142555a52532f79344b67386f6952334643434255795345535a4252436961426e6d45734f7a65537a73672b4b7859594f3964454566744e52715a6a78343046525a6b5470716d4f7a3553324c73586c455a42636961746b516e484447596147644679314570474d486c2f702f5064466c7432726b354f2b4a396e356e412f767466356e6564336c6e6c49537052686166426c4c524c4843744a475672422f5a4244736177326c55717a526547414334364473745459666e534347556a61614476677841436f366a337655656e4e64496d65525871646e575635617a3572726e7a655a7a6e6a384a2b4535467473636c68663373344a3443532f6f52783542766f6e385a553635464759517841776366383561374365527a2b4334315448656a75657964435a3741414b33346e7776336b48502f6f554b644f4c344b373235386646374375643432374f3438525165476b49474a37374e38665a716c726366525034642f78393057516648584c65427439645472536c776c33563635796e574c4d315345413271624e51636b626534586d77773130486d79337368696430434d636d6c454a745344736c35565a42646641674d7649337575522b6d6f4a714e364c61786d70734f42654c43446d546966434239325263516d6241554a767471414c63357351723870383667594243634664427139774f696e374e5161783665776c423672714c5a486632334650313079336c6a36754a74454267324878695643747a64335345774d4243696f364e6839757a5a344f2f764c774f5a344f554e4d324e79494750467276757a42472f2f6c5250732b5651326b316b692b65506b64383462736b7a375946705967697a457a3838503876507a596666753364445330674a4e545531515856304e71616d70524b31574977676669453471684f7969673072432b7043764b3851556f4d4c37754a564841356b635155703344537071576a6333642f4479386f4b696f694c6f367571436f614568754862314b765430394141684246706257346c4f70794d797949425153436d6f55514c517a676e694e767a2b6f624232485332527742674536644f7843794a6f676d4e6b503275315772687734514a30332b69477252395845643343544e426e366543626f3430775044774d645856314246314456473571694574626f78535550364a37312b44334e775541684c4f4952517a6d376c6e6e68595576375146762f79445a2f4c6d3575624b3244564939695a386252384a4474454235376c4e7a454e514e364f6a6f49476c70616249565a7359614d544f2b6872696b525241314a786d5358396845372f734a745679463338744b735543565a7842687a396a49337747542f514a6c41447a50417958726e6a306b496e7a47485143524d794f672f65643275486a784975453454675951487132444c4a71756d617368592b6c6e734d433447564335646f365856754b396c2b34536b4e38792b47665965564a6e32672b2b553751796750543064426759474944765435386d6e46355051636a433833507a5346396648375331745a47456841515a514f54384a61413331376f496b4d366a533875564c53447a4f517167323355682b4d6c6b4f66303047673063503334632b7676373455527a4d396e34316762792f7276766b63374f54686c415455334e4347594a5558743451614c75545977426354534f426d6a315244374434547369783442794f6a5a52462f7a677570444562675a336a346c792f71656b704e44306f35615134344853344f416773567174493167545a4f303149624730615031626b6e6e7843445576417248692b42306c4a536c7a676c5446594f3275644633516c39544372486e356f45497265487036516c5255464a53556c4a43717169705357566c4a38764c79434759494653374853337a476138376d76346c636a4c774c6c53746c4c544b59595555416c76726c444763573435774b785858366171485a4e75744d2b316f51424846546577414b6b6f48342b7671436a3438505941475335796235616d6a4e6f4f2b435532534c35334e4b70444430767848486d4f4a6972374c357855765a676d307573325231343253634f4979567159766c70575534586f4849503844584c32622b776a6457655868365532466a6d49494b6d625741595046524d75733632682f676549766a4f51596c707544797351724c4c364765723439486757386a7176585568493755764462396961535444714874794974694635537577356577462f4e6438564a367a6c68736e30366245687758344e79664376754745655270546d68346d6b47363879447079757a42394555636a553561776241676e63506c4165536441514552307a436e647a715662655843347144734d70764745594258526e734478344e33417566314643546a5449615674592f51546d643049386242566d316b656a45756255664f30317671496d6e336334395837717065714939696e4967746270784b3359724b66494a43742b4f6556326e665556465234636134456b56454e794137676b59634d66423152354d4d6d785a37657a2f324b463553534e3179562b3135385550734a54305a4263493262524c744958476f5975354665724f55694a65314f66734c335845574834336c324b532b694a46392b53344670634e6773632b6a3863543848346f31626650672f716b4c743530754a31527a644d7347673055717766454e313134507762314374575447672b59395535436c4b397837785557493742493556515670304156635133625a6b51686d6e45676448684b794e535a65313663727442496c63377349623663524c6674325043676f4b476a696a4244746a72415137613345644d73787a4952666c414649685062366d48596d5977582b57426c505167736b6867567279794a4351794e79424c73425164513666677351687974364d534f4f73575a37676248387745546d67524b41696a61744e4c384e676d30787834744c6373707330577a7834616c306a586c493430422f413370613134344d447453674141414141456c46546b5375516d4343)](https://packagist.org/packages/phil/microsymfony/actions)[![Software License](https://camo.githubusercontent.com/c2bffd81d308ced1cc3b0d66fb0ed453ab478a5e17c988b780f9de986a390ee2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/LICENSE)[![Build Status (GitHub)](https://camo.githubusercontent.com/db865309a14cdf462362cb35f6e15039f9525f4aadfbd649e0bf63bc5fca6ca6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f7061726c65722d686175742d696e746572616769722d6c696272656d656e742f6d6963726f73796d666f6e792f73796d666f6e792e796d6c3f6272616e63683d6d61696e267374796c653d666c61742d737175617265)](https://github.com/parler-haut-interagir-librement/MicroSymfony/actions?query=workflow%3ASymfony+branch%3Amain)[![Code Coverage](https://camo.githubusercontent.com/9bc1a9bbc5bbc05345eccb5e079d022a08a7544f35e2141709b70b7b5c89fdc8/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7061726c65722d686175742d696e746572616769722d6c696272656d656e742f4d6963726f53796d666f6e792f6261646765732f636f7665726167652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/parler-haut-interagir-librement/MicroSymfony/code-structure/main/code-coverage/src/)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/411d24277f368e7d65b7c5425ebb25fc2ff4dbe83f736edc7ead0c49a43eef72/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7061726c65722d686175742d696e746572616769722d6c696272656d656e742f4d6963726f53796d666f6e792f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/parler-haut-interagir-librement/MicroSymfony/?branch=main)[![Quality Score](https://camo.githubusercontent.com/9652bc22b0c23a8f95841fcd6ce0e06d3251b6aa2b1ee871ad55776c403957a2/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7061726c65722d686175742d696e746572616769722d6c696272656d656e742f6d6963726f73796d666f6e792e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/parler-haut-interagir-librement/microsymfony)

About 🖋
-------

[](#about-)

“**Proclaim** *Honestly*, **Interact** *Liberally*” **Micro***Symfony* is a [Symfony 7.3](https://symfony.com/blog/symfony-7-3-curated-new-features)application skeleton on steroids, ready to use.

The purpose of **Micro***Symfony* is to provide a sandbox with some sensible defaults and ready to use. It can be a solution if you want to quickly set up something, create a POC, test things, and even make a small "one-page" application.

It was base on [strangebuzz/MicroSymfony](https://github.com/strangebuzz/MicroSymfony) with adjustment we're usually adding on all our projects. We also remove somes examples.

> **PS**: If you want to use the last Symfony **6.4 LTS** version in your `composer.json`file, replace all occurrences of `7.3` with `6.4` and run `composer up`.

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

[](#table-of-contents-)

- [Demo](#demo-)
- [Quick-start](#quick-start-)
    - [With the Symfony binary](#with-the-symfony-binary-)
    - [With FrankenPHP](#with-frankenphp-)
- [Requirements](#requirements-)
    - [Optional requirements](#optional-requirements-)
- [Stack](#stack-)
- [Features](#features-)
- [Notes](#notes-)
    - [Symfony UX](#symfony-ux)
    - [PHP configuration files](#php-configuration-files)
- [Other good practices](#other-good-practices-)
- [ADR](#adr-)
- [What it doesn't ship!](#what-it-doesnt-ship-)
- [References](#references-)
- [Others “**Proclaim** Honestly, **Interact** Liberally” Skeletons](#others-proclaim-honestly-interact-liberally-skeletons-)
- [Contributing](#contributing-)
    - [Strangebuzz/MicroSymfony Contributors](#strangebuzzmicrosymfony-contributors)
- [Security](#security-)
- [Credits](#credits-)
- [License](#license-)
- [Built with MicroSymfony](#built-with-microsymfony-)

Demo 🌈
------

[](#demo-)

Because a live demo is always better than all explanations :

- Live demo **will** be available at
- Live demo powered by [FrankenPHP](https://frankenphp.dev/) **will** be available at [https://ph-il.ca/demos/frankenphp/microsymfony](https://ph-il.ca/demos/frankenphp/microsymfonys)

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 phil/microsymfony && cd microsymfony
```

To serve the application with the Symfony binary, run:

```
$ symfony server:start --daemon
```

or use the castor command

```
castor start
```

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

> **PS**: You can also use the green button "[Use this template ⇩](https://github.com/new?template_name=MicroSymfony&template_owner=parler-haut-interagir-librement)" 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" \
    -e APP_RUNTIME=Runtime\\FrankenPhpSymfony\\Runtime \
    -v $PWD:/app \
    -p 80:80 -p 443:443 \
    -d \
    dunglas/frankenphp

```

Open  and enjoy! 🙂

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

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

[](#requirements-)

All “**Proclaim** Honestly, **Interact** Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.

- [PHP 8.4](https://www.php.net/releases/8.4/en.php)
- The [Symfony CLI](https://symfony.com/download)
- [Castor 0.25](https://github.com/jolicode/castor) task runner

### Optional requirements 🚦

[](#optional-requirements-)

- The [Xdebug](https://xdebug.org/) PHP extension if you want to run the code coverage report (optional but recommended)

Stack 🔗
-------

[](#stack-)

All “**Proclaim** Honestly, **Interact** Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.

- [PHP 8.4](https://www.php.net/releases/8.4/en.php)
- [Symfony 7.3](https://symfony.com/7)
- [Twig 3.8](https://twig.symfony.com)
- [Hotwired](https://hotwired.dev/) [Stimulus 3.2](https://stimulus.hotwired.dev/) and [Turbo 8.0](https://turbo.hotwired.dev/)
- [PHPUnit 11.5](https://phpunit.de/announcements/phpunit-11.html)
- [Pico CSS 2.0](https://picocss.com)

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

[](#features-)

**Micro***Symfony* ships these features, ready to use:

- One task runner
    - Castor ([source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/castor.php))
- Static analysis with [PHPStan 2](https://github.com/phpstan/phpstan)
    - [Configuration](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/phpstan.neon)
- Coding standards with [php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)
    - [Configuration](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/.php-cs-fixer.dist.php)
- Refactoring with Rector
    - [Configuration](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/restor.php)
- The debug toolbar ([doc](https://symfony.com/doc/current/profiler.html))
- Tests ([demo](https://www.strangebuzz.com/en/blog/introducing-the-microsymfony-application-template#h2_7))
    - Unit test [example](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/tests/Unit/Helper/StringHelperTest.php)
    - Integration test [example](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/tests/Integration/Twig/Extension/MarkdownExtensionTest.php)
    - Functional test [example](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/tests/Functional/Controller/ComposerActionTest.php)
    - API test [example](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/tests/Api/Controller/SlugifyActionTest.php)
    - E2E test [example](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/tests/E2E/Controller/AppControllerTest.php)
- Code coverage at 100% (configurable threshold)
    - [Coverage report on Scrutinizer](https://scrutinizer-ci.com/g/parler-haut-interagir-librement/MicroSymfony/code-structure/main/code-coverage/src/)
- GitHub CI ([actions](https://github.com/parler-haut-interagir-librement/MicroSymfony/actions))
    - [Tests job output](https://github.com/parler-haut-interagir-librement/MicroSymfony/actions/runs/6178372662/job/16771491572)
    - [Lint job output](https://github.com/parler-haut-interagir-librement/MicroSymfony/actions/runs/6178372662/job/16771491353)
    - [Security job output](https://github.com/parler-haut-interagir-librement/MicroSymfony/actions/runs/6178372662/job/16771491353)
- Asset mapper+Stimulus ([documentation](https://symfony.com/doc/current/frontend/asset_mapper.html))
    - Vanilla Js
        - ([source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/assets/controllers/hello_controller.js))
        - ([demo](https://ph-il.ca/demos/microsymfony/stimulus))
    - Fetch on a JSON endpoint of the application
        - ([source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/assets/controllers/api_controller.js))
        - ([demo](https://ph-il.ca/demos/microsymfony/stimulus))
- Symfony Maker ([documentation](https://symfony.com/bundles/SymfonyMakerBundle/current/index.html))
- A custom error template
    - [Source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/templates/bundles/TwigBundle/Exception/error.html.twig)
    - [Demo](https://ph-il.ca/demos/microsymfony/404)

Notes 📒
-------

[](#notes-)

### Symfony-UX

[](#symfony-ux)

Turbo forms are disabled in [assets/app.js](https://github.com/parler-haut-interagir-librement/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).

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

[](#other-good-practices-)

- Using strict types in all PHP files ([source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/src/Controller/SlugifyAction.php))
- Using the ADR pattern in an action controller ([source](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/src/Controller/HomeAction.php)) ([doc](https://symfony.com/doc/current/controller/service.html#invokable-controllers))
- The [composer.json](https://github.com/parler-haut-interagir-librement/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/):

What it doesn't ship? ❌
-----------------------

[](#what-it-doesnt-ship-)

- Doctrine ([installation](https://symfony.com/doc/current/doctrine.html#installing-doctrine)) or use ([WebSymfony](https://github.com/parler-haut-interagir-librement/WebSymfony))

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)

Others “**Proclaim** Honestly, **Interact** Liberally” Skeletons 🩻
------------------------------------------------------------------

[](#others-proclaim-honestly-interact-liberally-skeletons-)

- [WebSymfony](https://github.com/parler-haut-interagir-librement/WebSymfony)

    - MicroSymfony+
    - Database
        - StofDoctrineExtensionsBundle
    - EasyAdmin
    - Security Layers
        - SymfonySecurity
        - NelmioSecurityBundle
        - NelmioCorsBundle
    - more.
- [ApiSymfony](https://github.com/parler-haut-interagir-librement/ApiSymfony)

    - API Platform
    - Task runner
        - Castor
    - Static Analysis
        - PHPStan
    - Coding standards
        - php-cs-fixer
    - Refactoring
        - Rector
    - Tests
        - Unit test
        - API test
        - E2E test
    - GitHub CI
    - Symfony Maker
- [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)

    - WebSymfony +
    - “**Proclaim** Honestly, **Interact** Liberally” Bundles
        - phil-ux - Add Base Twig Components
        - PhilDoctrineExtensionStofBundle - Add missing stuff to StofDoctrineExtensionsBundle
        - PhilDoctrineExtensionPublishBundle - Add Publish functionality to Doctrine Entity
    - more.

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

[](#contributing-)

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

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

[](#security-)

Please see [SECURITY](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/SECURITY.md) for details.

Credits 🙏
---------

[](#credits-)

- [Philippe Gamache](https://github.com/ph-il) (primary maintainer)
- [All Contributors](https://github.com/parler-haut-interagir-librement/MicroSymfony/graphs/contributors)

[ ![parler-haut-interagir-librement/MicroSymfony contributors](https://camo.githubusercontent.com/38356abf69c280063030190e044b1e6615a42ba7d3a59aa371f534fe54f05d8c/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d7061726c65722d686175742d696e746572616769722d6c696272656d656e742f4d6963726f53796d666f6e79)](https://github.com/parler-haut-interagir-librement/MicroSymfony/graphs/contributors)Made with [contrib.rocks](https://contrib.rocks).

### Strangebuzz/MicroSymfony Contributors

[](#strangebuzzmicrosymfony-contributors)

- [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 see [License File](https://github.com/parler-haut-interagir-librement/MicroSymfony/blob/main/LICENSE) for more information.

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

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

- [WebSymfony](https://github.com/parler-haut-interagir-librement/WebSymfony)
- [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)
- IRL Assemble Online
- [La Page à Melkor](https://lapageamelkor.org) via [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)
- [Parler Haut Interagir Librement](https://ph-il.ca) via [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)
- RPG Assemble Online
- [TiltTek](https://tilttek.com) via [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)
- [TTRPG Maker](https://ttrpgmaker.com) via [WebSkeleton](https://github.com/parler-haut-interagir-librement/WebSkeleton)

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance80

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity68

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~99 days

Recently: every ~158 days

Total

9

Last Release

182d ago

Major Versions

0.2.0 → 7.0.02024-02-24

PHP version history (3 changes)0.1.0PHP &gt;=8.2

7.0.0PHP &gt;=8.3

7.3.0PHP &gt;=8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/ef4519e787b0e7b195d93d2f70f62fb1d811e06ef8b65389a24aed2e8abeb12b?d=identicon)[phil](/maintainers/phil)

---

Top Contributors

[![ph-il](https://avatars.githubusercontent.com/u/80009?v=4)](https://github.com/ph-il "ph-il (47 commits)")

---

Tags

phpsymfonyradproject templatemicro-frameworkweb-applicationpoc

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[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)[sylius/sylius

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

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

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[forumify/forumify-platform

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

EasyAdmin Demo Application

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

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)

PHPackages © 2026

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