“Proclaim Honestly, Interact Liberally” MicroSymfony is a Symfony 7.0 application skeleton on steroids, ready to use.
The purpose of MicroSymfony 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 with adjustment we're usually adding on all our projects. We also remove many examples.
Because a live demo is always better than all explanations. Here is it:
- Live demo will be available at https://ph-il.ca/demos/microsymfony
All “Proclaim Honestly, Interact Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.
- PHP 8.3
- The Symfony CLI
- The Xdebug PHP extension if you want to run the code coverage report (optional but recommended)
- Castor 0.13 task runner
All “Proclaim Honestly, Interact Liberally” project will use the latest version within 1 or 2 months depending on dependencies availability.
MicroSymfony ships these features, ready to use:
- One task runner
- Castor (source)
- Static analysis with PHPStan
- Coding standards with php-cs-fixer
- Refactoring with Rector
- The debug toolbar (doc)
- Tests (organisation)
- Code coverage at 100%
- GitHub CI (actions)
- Asset mapper+Stimulus (documentation)
- Symfony Maker (documentation)
- A custom error template
- Using strict types in all PHP files (source)
- Using the ADR pattern in an action controller (source) (doc)
- The composer.json file is normalized with ergebnis/composer-normalize
- Use of the composer bin plugin
to install and run
php-cs-fixer
.
- Doctrine (installation) or use (WebSymfony)
- Any CSS (Installation to come) or use (WebSkeleton)
As the application template is registered on Packagist, you can use composer to install it with the following command:
$ composer create-project phil/microsymfony
It creates a microsymfony directory with the new project. In this case, you must set up Git and a repository yourself. But that's the fastest way to test it.
Note that the composer install command downloads all the required dependencies and builds the assets.
Or use the GitHub template:
$ gh repo create my-project --clone --private --template parler-haut-interagir-librement/WebSymfony
To serve the application with the Symfony binary, run:
$ symfony server:start --daemon
or use the castor command
$ castor symfony:start
The application is now available at https://127.0.0.1:8000 (considering your 8000 port is available).
- Installing and using php-cs-fixer (strangebuzz.com)
- Castor, a journey across the sea of task runners (jolicode.com)
- Initializing your Symfony project with solid foundations (strangebuzz.com)
- Organizing your Symfony project tests (strangebuzz.com)
- What are your Symfony best practices? (strangebuzz.com)
- Setting a CI/CD workflow for a Symfony project thanks to the GitHub actions (strangebuzz.com)
- The Symfony Framework Best Practices (symfony.com)
-
- MicroSymfony+
- Database
- StofDoctrineExtensionsBundle
- EasyAdmin
- Security Layers
- SymfonySecurity
- NelmioSecurityBundle
- NelmioCorsBundle
- more.
-
- 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
-
- WebSymfony +
- CSS framework
- Tailwind CSS
- DaisyUI : Add semantic to Tailwind CSS
- “Proclaim Honestly, Interact Liberally” Bundles
- phil-ux - Add Base Twig Components
- Install Tailwind CSS and DaisyUI
- Add Base Twig Components using DaisyUI semantic
- PhilDoctrineExtensionStofBundle - Add missing stuff to StofDoctrineExtensionsBundle
- PhilDoctrineExtensionPublishBundle - Add Publish functionality to Doctrine Entity
- phil-ux - Add Base Twig Components
- more.