phil/microsymfony

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

7.0.1 2024-03-01 00:54 UTC

README

Latest Version PHP Version Require level Software License Build Status (GitHub) Code Coverage Scrutinizer Code Quality Quality Score

About 🖋

Proclaim Honestly, Interact LiberallyMicroSymfony is a Symfony 7.3 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.

Table of Contents 📖

Demo 🌈

Because a live demo is always better than all explanations :

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:

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 symfony:start

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. This creates a new repository from the main branch instead of the last release. I guarantee that all commits on the main are stable; you can verify that the associated CI jobs are ✅.

Requirements ⚙

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

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 🚀

MicroSymfony ships these features, ready to use:

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 👌

What it doesn't ship? ❌

References 📚

Others “Proclaim Honestly, Interact Liberally” Skeletons 🩻

  • WebSymfony

    • MicroSymfony+
    • Database
      • StofDoctrineExtensionsBundle
    • EasyAdmin
    • Security Layers
      • SymfonySecurity
      • NelmioSecurityBundle
      • NelmioCorsBundle
    • more.
  • 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

    • 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 🤝

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security 🧯

Please see SECURITY for details.

Credits 🙏

parler-haut-interagir-librement/MicroSymfony contributors

Made with contrib.rocks.

Strangebuzz/MicroSymfony Contributors

strangebuzz/MicroSymfony contributors

Made with contrib.rocks.

License ⚖️

The MIT License (MIT). Please see License File for more information.

Built with MicroSymfony 🛠️