This page displays the README.md file of the GitHub repository.
MicroSymfony is a Symfony 7.1 application skeleton on steroids, ready to use.
I have made a long blog post explaining all it contains; it will be the reference for documentation. I'll update it when needed:
If you want to use the last Symfony 6.4 LTS version in your composer.json
file, replace all occurrences of 7.1
with 6.4
and run composer up
.
Because a live demo is always better than all explanations:
You must have the Symfony binary and composer installed locally.
To create a new project from the GitHub template, run:
composer create-project strangebuzz/microsymfony && cd microsymfony
Then start the PHP server with make:
make start
Or with Castor:
castor start
Open https://127.0.0.1:8000 (considering your 8000 port is free) and enjoy! 🙂
We can also use FrankenPHP to run MicroSymfony. You must have Docker 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
Install the FrankenPHP Symfony runtime:
docker run --rm -it -v $PWD:/app composer:latest require runtime/frankenphp-symfony
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 https://localhost and enjoy! 🙂
PS: On Windows, replace $PWD
with "%cd%"
.
You can also directly use the FrankenPHP branch.
PS: A fork of BareCSS was created to fix some issues as the project is not maintained anymore.
MicroSymfony ships these features, ready to use:
Feature branches
are not merged in the main branch but are used to integrate a new vendor library
or make a POC.
For example, have you ever dreamed of testing Eloquent,
the Laravel ORM, on a Symfony project?
Then clone the eloquent
branch and run composer install && make load-fixtures
.
These « database » branches aim to display a list of records coming from a SQLite database.
These branches will be rebased after each release so they are always up to date.
Turbo forms are disabled in 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.
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Please see SECURITY for details.
The MIT License (MIT). Please see License File for more information.