Download the PHP package phil/microsymfony without Composer
On this page you can find all versions of the php package phil/microsymfony. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download phil/microsymfony
More information about phil/microsymfony
Files in phil/microsymfony
Package microsymfony
Short Description A template to initialize an application to use Symfony as a micro-framework
License MIT
Homepage https://ph-il.ca
Informations about the package microsymfony
Proclaim Honestly, Interact Liberallyโ **Micro**Symfony
About ๐
โProclaim Honestly, Interact Liberallyโ **Micro**Symfony is a Symfony 7.3 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 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.jsonfile, replace all occurrences of7.3with6.4and runcomposer up.Table of Contents ๐
- Demo
- Quick-start
- With the Symfony binary
- With FrankenPHP
- Requirements
- Optional requirements
- Stack
- Features
- Notes
- Symfony UX
- PHP configuration files
- Other good practices
- ADR
- What it doesn't ship!
- References
- Others โProclaim Honestly, Interact Liberallyโ Skeletons
- Contributing
- Strangebuzz/MicroSymfony Contributors
- Security
- Credits
- License
- Built with MicroSymfony
Demo ๐
Because a live demo is always better than all explanations :
- Live demo will be available at https://ph-il.ca/demos/microsymfony
- Live demo powered by FrankenPHP will be available at https://ph-il.ca/demos/frankenphp/microsymfony
Quick-start โก
With the Symfony binary ๐ถ
You must have the Symfony binary and composer installed locally.
To create a new project from the last tag, run:
To serve the application with the Symfony binary, run:
or use the castor command
Open https://127.0.0.1:8000 (considering your 8000 port is free) and enjoy! ๐
PS: You can also use the green button "Use this template โฉ" 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 ๐งโ
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
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%".
Requirements โ
All โProclaim Honestly, Interact Liberallyโ project will use the latest version within 1 or 2 months depending on dependencies availability.
- PHP 8.4
- The Symfony CLI
- Castor 1.0 task runner
Optional requirements ๐ฆ
- The Xdebug PHP extension if you want to run the code coverage report (optional but recommended)
Stack ๐
All โProclaim Honestly, Interact Liberallyโ project will use the latest version within 1 or 2 months depending on dependencies availability.
Features ๐
**Micro**Symfony ships these features, ready to use:
- One task runner
- Castor (source)
- Static analysis with PHPStan 2
- Coding standards with php-cs-fixer
- Refactoring with Rector
- The debug toolbar (doc)
- Tests (demo)
- Code coverage at 100% (configurable threshold)
- GitHub CI (actions)
- Asset mapper+Stimulus (documentation)
- Symfony Maker (documentation)
- A custom error template
Notes ๐
Symfony-UX
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.
Other good practices ๐
- 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
ADR ๐
ADR stands for Architecture Design Records:
What it doesn't ship? โ
- Doctrine (installation) or use (WebSymfony)
References ๐
- 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 (tomasvotruba.com)
- PHPStan 2.0 Released With Level 10 and Elephpants! (phpstan.org)
- A better ADR pattern for your Symfony controllers (strangebuzz.com)
- My Taskfile configuration for Symfony (jmsche.fr)
- You should be using PHPStans bleeding edge (backendtea.com)
- A Good Naming Convention for Routes, Controllers and Templates? (jolicode.com)
- Front-end application development, Symfony-style(s) (dunglas.dev)
- Automated Test Coverage Checks with Travis, PHPUnit for Github Pull Requests (ocramius.github.io)
- 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)
Others โProclaim Honestly, Interact Liberallyโ Skeletons ๐ฉป
-
- 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
- WebSkeleton
- WebSymfony +
- CSS framework
- phil-ux
- โ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 ๐ค
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security ๐งฏ
Please see SECURITY for details.
Credits ๐
- Philippe Gamache (primary maintainer)
- All Contributors
Made with contrib.rocks.
Strangebuzz/MicroSymfony Contributors
- COil (primary maintainer)
- All Contributors
Made with contrib.rocks.
License โ๏ธ
The MIT License (MIT). Please see License File for more information.
Built with MicroSymfony ๐ ๏ธ
- WebSymfony
- WebSkeleton
- IRL Assemble Online
- La Page ร Melkor via WebSkeleton
- Parler Haut Interagir Librement via WebSkeleton
- RPG Assemble Online
- TiltTek via WebSkeleton
- TTRPG Maker via WebSkeleton
All versions of microsymfony with dependencies
ext-ctype Version *
ext-dom Version *
ext-iconv Version *
ext-libxml Version *
ext-mbstring Version *
ext-simplexml Version *
ext-xml Version *
league/commonmark Version ^2.7
sentry/sentry-symfony Version ^5.6
runtime/frankenphp-symfony Version ^0.2.0
symfony/asset Version 7.3.*
symfony/asset-mapper Version 7.3.*
symfony/console Version 7.3.*
symfony/dotenv Version 7.3.*
symfony/flex Version ^2.10
symfony/form Version 7.3.*
symfony/framework-bundle Version 7.3.*
symfony/http-foundation Version 7.3.*
symfony/http-kernel Version 7.3.*
symfony/intl Version 7.3.*
symfony/monolog-bundle Version ^3.10
symfony/routing Version 7.3.*
symfony/runtime Version 7.3.*
symfony/security-csrf Version ~7.3.0
symfony/stimulus-bundle Version ^2.31
symfony/string Version 7.3.*
symfony/translation Version 7.3.*
symfony/twig-bundle Version 7.3.*
symfony/ux-turbo Version ^2.31
symfony/validator Version 7.3.*
symfony/web-link Version 7.3.*
symfony/yaml Version 7.3.*
twig/extra-bundle Version ^3.22
twig/intl-extra Version ^3.22
twig/markdown-extra Version ^3.22
twig/string-extra Version ^3.22
twig/twig Version ^3.22

